fix(test): improve flakey async producer test #1935
Merged
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.
The TestAsyncProducerRecoveryWithRetriesDisabled periodically fails and
then passes on a re-run. Stepping through it I believe this was because
the test had assumed metadata requests would always go to the
seed/bootstrap broker, but they can actually go to any broker. So there
was a 1 in 3 chance that the test would fail because it would await
timeout of metadata requests that were never going to be responded to.
Rewriting the test to use the handler map capability rather than the
expectations interface and configuring the mock metadata responses on
all mock brokers allows the test to pass quickly and reliably.