Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-2054 Fix Kafka transient unit test failures
  3. KAFKA-4049

Transient failure in RegexSourceIntegrationTest.testRegexMatchesTopicsAWhenDeleted

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.10.1.0
    • Component/s: streams
    • Labels:

      Description

      There is an hidden assumption in this test case that the created TEST-TOPIC-A and TEST-TOPIC-B are propagated to the streams client at the same time, and stored as assignedTopicPartitions[0]. However this is not always true since these two topics may be added on the client side as two consecutive metadata refreshes.

      The proposed fix includes the following:

      1. In waitForCondition do not trigger the conditionMet function again after the while loop, but just remember the returned value from the last call. This is safer so that if the condition changes after the while loop it will not be considered as well.

      2. Not remembering a map of all the previous assigned partitions, but only the most recent one. And also get rid of the final check after streams client is closed by just use equals in the condition to make sure that it is exactly the same to the expected assignment.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                guozhang Guozhang Wang
                Reporter:
                guozhang Guozhang Wang
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: