[ https://issues.apache.org/jira/browse/KAFKA-4558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15806466#comment-15806466 ]
Apurva Mehta commented on KAFKA-4558: ------------------------------------- I dug a bit further into the `JmxMixin`, and it seems that all we have to do in the console consumer is something like the following: {code} def has_partitions_assigned(self): # we run at init jmx_object_names += ['partitions-assigned'] self.read_jmx_output(idx, node) return self.average_jmx_value['partitions_assigned'] > 0 {code} Then the current `wait_until` in `ProduceConsumeValidate.start_producer_and_consumer` should just wait until `has_partitions_assigned` returns true. Does this seem reasonable? Or have I misunderstood how this is supposed to work? > throttling_test fails if the producer starts too fast. > ------------------------------------------------------ > > Key: KAFKA-4558 > URL: https://issues.apache.org/jira/browse/KAFKA-4558 > Project: Kafka > Issue Type: Bug > Reporter: Apurva Mehta > Assignee: Apurva Mehta > > As described in https://issues.apache.org/jira/browse/KAFKA-4526, the > throttling test will fail if the producer in the produce-consume-validate > loop starts up before the consumer is fully initialized. > We need to block the start of the producer until the consumer is ready to go. > The current plan is to poll the consumer for a particular metric (like, for > instance, partition assignment) which will act as a good proxy for successful > initialization. Currently, we just check for the existence of a process with > the PID, which is not a strong enough check, causing the test to fail > intermittently. -- This message was sent by Atlassian JIRA (v6.3.4#6332)