[ https://issues.apache.org/jira/browse/KAFKA-2948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15045372#comment-15045372 ]
Jiangjie Qin commented on KAFKA-2948: ------------------------------------- [~rsivaram] As you pointed out we never remove the topics set in producer metadata. I am not sure if removing the topic from the set when we see UNKNOWN_TOPIC_OR_PARTITION error code is the right way to fix this, because UNKNOWN_TOPIC_OR_PARTITION can also occur in other cases such as partition reassignment, the producer is supposed to retry in this case. Maybe a TTL is a better solution here. e.g. If the producer hasn't sent data to a particular topic since last metadata refresh, we can remove the topic from metadata topic set on next metadata refresh. > Kafka producer does not cope well with topic deletions > ------------------------------------------------------ > > Key: KAFKA-2948 > URL: https://issues.apache.org/jira/browse/KAFKA-2948 > Project: Kafka > Issue Type: Bug > Components: producer > Affects Versions: 0.9.0.0 > Reporter: Rajini Sivaram > Assignee: Rajini Sivaram > > Kafka producer gets metadata for topics when send is invoked and thereafter > it attempts to keep the metadata up-to-date without any explicit requests > from the client. This works well in static environments, but when topics are > added or deleted, list of topics in Metadata grows but never shrinks. Apart > from being a memory leak, this results in constant requests for metadata for > deleted topics. > We are running into this issue with the Confluent REST server where topic > deletion from tests are filling up logs with warnings about unknown topics. > Auto-create is turned off in our Kafka cluster. > I am happy to provide a fix, but am not sure what the right fix is. Does it > make sense to remove topics from the metadata list when > UNKNOWN_TOPIC_OR_PARTITION response is received if there are no outstanding > sends? It doesn't look very straightforward to do this, so any alternative > suggestions are welcome. -- This message was sent by Atlassian JIRA (v6.3.4#6332)