You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jiangjie Qin (JIRA)" <ji...@apache.org> on 2015/03/24 09:13:52 UTC

[jira] [Created] (KAFKA-2042) New producer metadata update always get all topics.

Jiangjie Qin created KAFKA-2042:
-----------------------------------

             Summary: New producer metadata update always get all topics.
                 Key: KAFKA-2042
                 URL: https://issues.apache.org/jira/browse/KAFKA-2042
             Project: Kafka
          Issue Type: Bug
            Reporter: Jiangjie Qin


The new java producer metadata.topics is initially empty so the producer sends TMR with empty topic set. The broker takes the empty requested topic set as all topics, so metadata.cluster contains all topic metadata. Later on, when a new topic was produced, it gets added into the metadata.topics. The next metadata update will only contain the meta data for this new topic, so the metadata.cluster will only have this topic. Since there are a lot of messages are still in the accumulator but has no metadata in metadata.cluster, if a caller thread do a flush(), the caller thread will block forever because the messages sitting in accumulator without metadata will never be ready to send.
We should add check for the metadata.topics, if it is empty, no TMR should be sent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)