Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug 2267 quorum intersection max scc topological order #2278

Conversation

graydon
Copy link
Contributor

@graydon graydon commented Sep 18, 2019

Description

Resolves #2267: (partially) order SCCs topologically / by reachability, take a maximally-reachable element in the partial order.

Checklist

  • Reviewed the contributing document
  • Rebased on top of master (no merge commits)
  • Ran clang-format v5.0.0 (via make format or the Visual Studio extension)
  • Compiles
  • Ran all tests
  • N/A If change impacts performance, include supporting evidence per the performance document

mTSC.calculateSCCs();
mMaxSCC.clear();
for (auto const& scc : mTSC.mSCCs)
{
if (scc.count() > mMaxSCC.count())
if (mMaxSCC.empty() || reach.canReach(mMaxSCC, scc))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick note: doesn't Tarjan give you the SCCs in the right (topological) order? So you could simply set maxSCC to the last component found (or actually first, I do not remember the order) instead of iterating here and computing the reachability?

@MonsieurNicolas MonsieurNicolas added this to In progress in v12.1.0 via automation Sep 18, 2019
@MonsieurNicolas MonsieurNicolas removed this from In progress in v12.0.0 Sep 18, 2019
@graydon
Copy link
Contributor Author

graydon commented Sep 18, 2019

This is overcomplex -- see #2279 for simpler fix.

@graydon graydon closed this Sep 18, 2019
v12.1.0 automation moved this from In progress to Done Sep 18, 2019
@MonsieurNicolas MonsieurNicolas removed this from Done in v12.1.0 Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Potentially incorrect quorum intersection check (Version: 11.4.0)
2 participants