[fix][test] Flaky-test: ManagedLedgerTest.testTimestampOnWorkingLedger #22600
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
#22430
After #22034, When the ledger is closed due to full entry, will trigger create a new ledger, However, since the creation of the ledger is asynchronous, sometimes the last ledger is not created before the function returns.
pulsar/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
Lines 1775 to 1778 in 57a616e
For this test:
ml.close();
is no make sure that thecurrentLedger
switch successful, and there are two possible case:Case 1 will cause the test to fail.
Modifications
When
ml.close
to reopen a newManagerLedger
that will make sure intoCase1
, and then to assert timestamp ofLedger02
than 0.Verifying this change
Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: