Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Only publish suspect ledgers if they have missing fragments
This is a fix for a flake in AuditorPeriodicCheckTest#testIndexCorruption. Auditor#checkAllLedgers() runs a check on all ledgers, passing ProcessLostFragmentsCb as a callback to LedgerChecker#checkLedger for each one. LedgerChecker#checkLedger triggers the callback on completion, regardless of whether there are fragments missing on not. Previously, ProcessLostFragments was not checking if there were lost fragments before publishing the ledger as suspected in zookeeper. The flake triggered as there were always two ledgers that existed when the check occurred, both would be reported as suspected, and it was random which would be returned while polling for underreplicated ledgers. The fix is to check that something is actually underreplicated before publishing. Reviewers: Sijie Guo <[email protected]> This closes apache#1834 from ivankelly/auditor-periodic-flake
- Loading branch information