Jason Gustafson created KAFKA-8484: -------------------------------------- Summary: ProducerId reset can cause IllegalStateException Key: KAFKA-8484 URL: https://issues.apache.org/jira/browse/KAFKA-8484 Project: Kafka Issue Type: Bug Reporter: Jason Gustafson Assignee: Jason Gustafson
If the producerId is reset while inflight requests are pending, we can get the follow uncaught error. {code} [2019-06-03 08:20:45,320] ERROR [Producer clientId=producer-1] Uncaught error in request completion: (org.apache.kafka.clients.NetworkClient) java.lang.IllegalStateException: Sequence number for partition test_topic-13 is going to become negative : -965 at org.apache.kafka.clients.producer.internals.TransactionManager.adjustSequencesDueToFailedBatch(TransactionManager.java:561) at org.apache.kafka.clients.producer.internals.Sender.failBatch(Sender.java:744) at org.apache.kafka.clients.producer.internals.Sender.failBatch(Sender.java:717) at org.apache.kafka.clients.producer.internals.Sender.completeBatch(Sender.java:667) at org.apache.kafka.clients.producer.internals.Sender.handleProduceResponse(Sender.java:574) at org.apache.kafka.clients.producer.internals.Sender.access$100(Sender.java:75) at org.apache.kafka.clients.producer.internals.Sender$1.onComplete(Sender.java:818) at org.apache.kafka.clients.ClientResponse.onComplete(ClientResponse.java:109) at org.apache.kafka.clients.NetworkClient.completeResponses(NetworkClient.java:561) at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:553) at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:335) at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:253) at java.lang.Thread.run(Thread.java:748) {code} The impact of this is that a failed batch will not be completed until the delivery timeout is exceeded. We are missing validation when we receive a produce response that the producerId and epoch still match. -- This message was sent by Atlassian JIRA (v7.6.3#76005)