Description
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.
Attachments
Issue Links
- blocks
-
SPARK-18057 Update structured streaming kafka from 0.10.0.1 to 2.0.0
- Resolved
- relates to
-
KAFKA-3450 Producer blocks on send to topic that doesn't exist if auto create is disabled
- Open
-
KAFKA-4385 producer is sending too many unnecessary meta data request if the meta data for a topic is not available and "auto.create.topics.enable" =false
- Open
- links to