Rajini Sivaram created KAFKA-8662:
-------------------------------------
Summary: Produce fails if a previous produce was to an
unauthorized topic
Key: KAFKA-8662
URL: https://issues.apache.org/jira/browse/KAFKA-8662
Project: Kafka
Issue Type: Bug
Components: producer
Affects Versions: 2.3.0
Reporter: Rajini Sivaram
Assignee: Rajini Sivaram
Fix For: 2.4.0, 2.3.1
This is a regression introduced by the commit
[https://github.com/apache/kafka/commit/460e46c3bb76a361d0706b263c03696005e12566|https://github.com/apache/kafka/commit/460e46c3bb76a361d0706b263c03696005e12566.].
When we produce to a topic, was add the topic to the producer's Metadata
instance. If metadata authorization fails for the topic, we fail the send and
propagate the authorization exception to the caller. The topic remains in the
Metadata instance. We expire the topic and remove from Metadata after a fixed
interval of 5 minutes. This has been the case for a while.
If a subsequent send is to a different authorized topic, we may still get
metadata authorization failures for the previous unauthorized topic that is
still in Metadata. Prior to that commit in 2.3.0, send to authorized topics
completed successfully even if there were other unauthorized or invalid topics
in the Metadata. Now, we propagate the exceptions without checking topic. This
is a regression and not the expected behaviour since producer becomes unusable
for 5 minutes unless authorization is granted to the first topic.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)