[fix][test] Fix flaky DelayedDeliveryTest.testEnableTopicDelayedDelivery #23893
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.
Fixes #23882
Motivation
The test class uses a
delayedDeliveryTickTimeMillis
of 1024.In the flaky test, a message is produced that should be delivered after 2 seconds. Then,
consumer.receive()
is called with a timeout of 1 second and it is asserted that no message is received. Because of the tick time of 1024ms, the message may already be delivered after 2s-1024ms=976ms. In this case, the test fails because a message is consumed within 1 second.Modifications
Configure the message to be delivered after 3 seconds (instead of 2).
This ensures that the message is delivered at the earliest after 3s-1024ms=1976ms. The
consumer.receive()
with 1 second timeout should not receive the message anymore.After that, there is another
consumer.receive()
whose timeout was increased from 3 to 4 seconds.Verifying this change
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: pdolif#7