Simon Fell created KAFKA-6554: --------------------------------- Summary: Broker doesn't reject Produce request with inconsistent state Key: KAFKA-6554 URL: https://issues.apache.org/jira/browse/KAFKA-6554 Project: Kafka Issue Type: Bug Components: producer Affects Versions: 1.0.0 Reporter: Simon Fell Attachments: produce_v3.txt
Produce messages of type v3 have offset deltas in each record along with a LastOffsetDelta for the topic/partition set. In investigating an issue with missing offsets, I found a bug in a producer library where it would send multiple records, but leave LastOffsetDelta at 0. This causes various problems including holes in the offsets fetched by the consumer. As lastOffsetDelta can be computed by looking at the records, it seems like the broker should at least validate the LastOffsetDelta field against the contained records to stop this bad data getting in. I've attached a decode v3 produce message that was causing the problems, and was accepted by the broker. Here's a link to the issue in the kafka library we were using which has more context if you need it. https://github.com/Shopify/sarama/issues/1032 -- This message was sent by Atlassian JIRA (v7.6.3#76005)