KAFKA-18418: Use CDL to block the thread termination to avoid flaky tests #18418
+19
−3
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.
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
This PR fixes KAFKA-18418. KafkaStreamsTest uses
Thread.sleep
to prevent threads from terminating. This introduces flaky tests if the sleep duration is not long enough. This patch fixes the issue by replacing theThread.sleep
with aCountDownLatch
. TheCountDownLatch
will be released after assertions are validated.Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
I tested the proposed fix against the patch: aoli-al@aced4f1 and verified that all tests have passed. I also tested the new code using Fray (the tool that found the bug), and Fray did not report any bug using the POS strategy after 10 minutes.
Committer Checklist (excluded from commit message)