[ https://issues.apache.org/jira/browse/KAFKA-8662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rajini Sivaram resolved KAFKA-8662. ----------------------------------- Resolution: Fixed Reviewer: Jason Gustafson > 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 > Priority: Blocker > 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)