[BEAM-220] fix flaky KafkaIO test #237
Closed
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.
Fix a flaky KafkaIO test.
KafkaIO reader reads from Kafka in a separate thread. As a result,
start()oradvance()might not read a record with in 10 millis timeout even from the mock kafka consumer. Updated one test that manually reads from KafkaIO reader to invokeadvance()in a loop.This should fix the flaky test. I am running these tests in a loop on my desktop to verify. One thing I can not explain is the following log from the failed jenkins build linked in BEAM-220 (the log was same when I reproduced it locally):
It is entirely clear if this is from the failed test, but
first record offset 0implies thestart()must have returned true.