[
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)