Justine Olshan created KAFKA-14417:
--------------------------------------

             Summary: Producer doesn't handle REQUEST_TIMED_OUT for 
InitProducerIdRequest
                 Key: KAFKA-14417
                 URL: https://issues.apache.org/jira/browse/KAFKA-14417
             Project: Kafka
          Issue Type: Task
    Affects Versions: 3.3.0, 3.2.0, 3.0.0, 3.1.0
            Reporter: Justine Olshan


In TransactionManager we have a handler for InitProducerIdRequests 
[https://github.com/apache/kafka/blob/19286449ee20f85cc81860e13df14467d4ce287c/clients/src/main/java/org/apache/kafka/clients/producer/internals/TransactionManager.java#LL1276C14-L1276C14]

However, we have the potential to return a REQUEST_TIMED_OUT error in 
ProducerIdManager when the BrokerToControllerChannel manager times out: 
[https://github.com/apache/kafka/blob/19286449ee20f85cc81860e13df14467d4ce287c/core/src/main/scala/kafka/coordinator/transaction/ProducerIdManager.scala#L236]
 

or when the poll returns null: 
[https://github.com/apache/kafka/blob/19286449ee20f85cc81860e13df14467d4ce287c/core/src/main/scala/kafka/coordinator/transaction/ProducerIdManager.scala#L170]

Since REQUEST_TIMED_OUT is not handled by the producer, we treat it as a fatal 
error. With the default of idempotent producers, this can cause more issues.

Seems like the commit that introduced the changes was this one: 
[https://github.com/apache/kafka/commit/72d108274c98dca44514007254552481c731c958]
 so we are vulnerable when the server code is ibp 3.0 and beyond.
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to