Skip to content

Fix flakey binary fuse test#5302

Merged
graydon merged 1 commit into
stellar:masterfrom
SirTyson:fix-flaky-test
May 30, 2026
Merged

Fix flakey binary fuse test#5302
graydon merged 1 commit into
stellar:masterfrom
SirTyson:fix-flaky-test

Conversation

@SirTyson
Copy link
Copy Markdown
Contributor

Description

Fixes flaky binary fuse filter test.

The bff has several "error" paths that force special behavior, that occur very rarely depending on hash collision patterns. We have a test that deterministically triggers one of these paths with random input. On some inputs, we actually naturally hit another special path, preventing us from hitting the path we care about in the test. Instead of adding a bunch more test only bypasses in the filter, I just modified the test to detect that this occurred and rotate the seed.

Checklist

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

Copilot AI review requested due to automatic review settings May 29, 2026 21:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the BinaryFuseFilter error-retry test to avoid CI flakiness caused by occasionally hitting a different rare “peeling failure retry” path before the intended forced “populate error retry” path.

Changes:

  • Refactors test setup into a buildAndCheck(seed) helper that re-hashes keys for a given seed and validates membership.
  • Makes the “one retry” section resilient by detecting unexpected peeling-retry hits and retrying the test with rotated seeds until the intended path is observed (or attempts are exhausted).

Comment thread src/util/test/BinaryFuseTests.cpp Outdated
Comment thread src/util/test/BinaryFuseTests.cpp
@SirTyson SirTyson requested a review from graydon May 29, 2026 21:57
@graydon graydon added this pull request to the merge queue May 30, 2026
Merged via the queue into stellar:master with commit 74af306 May 30, 2026
54 checks passed
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.

3 participants