Skip to content

Conversation

@bereng
Copy link
Collaborator

@bereng bereng commented Feb 27, 2025

The Ford Fulkerson optimization may take too long in some configs

What is the issue

Some configs make the FF computation take too long

What does this PR fix and why was it fixed

This PR adds a feature flag so you can workaround it

@github-actions
Copy link

github-actions bot commented Feb 27, 2025

Checklist before you submit for review

  • Make sure there is a PR in the CNDB project updating the Converged Cassandra version
  • Use NoSpamLogger for log lines that may appear frequently in the logs
  • Verify test results on Butler
  • Test coverage for new/modified code is > 80%
  • Proper code formatting
  • Proper title for each commit staring with the project-issue number, like CNDB-1234
  • Each commit has a meaningful description
  • Each commit is not very long and contains related changes
  • Renames, moves and reformatting are in distinct commits

@bereng bereng force-pushed the HCD-84-HCD-1.1 branch 2 times, most recently from 78179c7 to e4ca74b Compare February 27, 2025 10:09
@bereng bereng changed the title HCD-84 Avoid Ford Fulkerson when using vnodes HCD-84 Feature flag to skip Ford Fulkerson Feb 27, 2025
@bereng
Copy link
Collaborator Author

bereng commented Feb 27, 2025

This has been tested with the approach of skipping when vnodes>1 and Butler was happy with it. Ci run here

This has been tested with the FF deactivated and Butler is happy with it CI here. Where the only failure is a known one.

As we can see below with the FF enabled all is good as that failures passes locally Testsuite: org.apache.cassandra.utils.IntegerIntervalsTest-compression.jdk11 Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.206 sec

Copy link

@szymon-miezal szymon-miezal left a comment

Choose a reason for hiding this comment

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

Leaving +1, I have left two rename suggestions in tests for your consideration, they aren't major. I have also left one remark about config property resetting - that one I think should be addressed before merging.

This commit introduces "com.datastax.RangeStreamer.skipFFOptimization"
as a feature flag system property to disable the FF optimization when
calculating ranges for certain operations causing slowdowns.
@bereng bereng merged commit d0f0265 into main Feb 28, 2025
6 of 250 checks passed
@bereng bereng deleted the HCD-84-HCD-1.1 branch February 28, 2025 09:32
@bereng
Copy link
Collaborator Author

bereng commented Feb 28, 2025

Squashed, rebased, sanity tests ran locally and merged.

bereng added a commit that referenced this pull request Feb 28, 2025
The Ford Fulkerson optimization may take too long in some configs

Some configs make the FF computation take too long

This PR adds a feature flag so you can workaround it
@sonarqubecloud
Copy link

@cassci-bot
Copy link

❌ Build ds-cassandra-pr-gate/PR-1612 rejected by Butler


1 new test failure(s) in 8 builds
See build details here


Found 1 new test failures

Test Explanation Branch history Upstream history
o.a.c.u.b.BinLogTest.testTruncationReleasesLogS... regression 🔴🔵🔴🔴🔵🔵🔵 🔵🔵🔵🔵🔵🔵🔵

Found 9 known test failures

djatnieks pushed a commit that referenced this pull request Mar 11, 2025
The Ford Fulkerson optimization may take too long in some configs

Some configs make the FF computation take too long

This PR adds a feature flag so you can workaround it
djatnieks pushed a commit that referenced this pull request May 18, 2025
The Ford Fulkerson optimization may take too long in some configs

Some configs make the FF computation take too long

This PR adds a feature flag so you can workaround it
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.

5 participants