[
https://issues.apache.org/jira/browse/KAFKA-2042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378551#comment-14378551
]
Jiangjie Qin commented on KAFKA-2042:
-------------------------------------
Updated reviewboard https://reviews.apache.org/r/32434/diff/
against branch origin/trunk
> 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
> Assignee: Jiangjie Qin
> Priority: Blocker
> Attachments: KAFKA-2042.patch, KAFKA-2042_2015-03-24_13:37:49.patch
>
>
> 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)