You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (JIRA)" <ji...@apache.org> on 2019/03/01 07:36:00 UTC

[jira] [Commented] (KAFKA-8011) Flaky Test RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenCreated

    [ https://issues.apache.org/jira/browse/KAFKA-8011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16781387#comment-16781387 ] 

Matthias J. Sax commented on KAFKA-8011:
----------------------------------------

It seems the cherry-pick broke older branches. The following happened in 1.0 and 1.1

[https://builds.apache.org/blue/organizations/jenkins/kafka-1.0-jdk7/detail/kafka-1.0-jdk7/263/tests]

[https://builds.apache.org/blue/organizations/jenkins/kafka-1.1-jdk7/detail/kafka-1.1-jdk7/249/tests]

 

STDOUT:
{quote}Exception in thread "regex-source-integration-test-f12281d4-a87a-4612-b2d0-34200123c1b7-StreamThread-128" org.apache.kafka.streams.errors.TopologyException: Invalid topology: Topic foo is already matched for another regex pattern foo.* and hence cannot be matched to this regex pattern f.* any more.
at org.apache.kafka.streams.processor.internals.InternalTopologyBuilder$SourceNodeFactory.getTopics(InternalTopologyBuilder.java:310)
at org.apache.kafka.streams.processor.internals.InternalTopologyBuilder.setRegexMatchedTopicsToSourceNodes(InternalTopologyBuilder.java:1087)
at org.apache.kafka.streams.processor.internals.InternalTopologyBuilder.updateSubscriptions(InternalTopologyBuilder.java:1263)
at org.apache.kafka.streams.processor.internals.StreamPartitionAssignor.updateSubscribedTopics(StreamPartitionAssignor.java:292)
at org.apache.kafka.streams.processor.internals.StreamPartitionAssignor.subscription(StreamPartitionAssignor.java:281)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.metadata(ConsumerCoordinator.java:152)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.sendJoinGroupRequest(AbstractCoordinator.java:443)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.initiateJoinGroup(AbstractCoordinator.java:402)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded(AbstractCoordinator.java:363)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:316)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:295)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1146)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1111)
at org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:848)
at org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:805)
at org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:771)
at org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:741){quote}
 
Can you check [~bbejeck]? Did you run the tests locally on both branches before pushing the cherry-pick?

> Flaky Test RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenCreated
> ------------------------------------------------------------------------
>
>                 Key: KAFKA-8011
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8011
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>            Reporter: Bill Bejeck
>            Assignee: Bill Bejeck
>            Priority: Critical
>              Labels: flaky-test, newbie
>
> The RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenCreated
> and RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenDeleted  tests use an ArrayList to assert the topics assigned to the Streams application. 
> The ConsumerRebalanceListener used in the test operates on this list as does the TestUtils.waitForCondition() to verify the expected topic assignments.
> Using the same list in both places can cause a ConcurrentModficationException if the rebalance listener modifies the assignment at the same time TestUtils.waitForCondition() is using the list to verify the expected topics. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)