Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
We have logic in the producer to handle unknown producer errors. Basically when the producer gets an unknown producer error, it checks whether the log start offset is larger than the last acknowledged offset. If it is, then we know the error is spurious and we reset the sequence number to 0, which the broker will then accept.
It can happen after a DeleteRecords call, however, that the only record remaining in the log is a transaction marker, which does not have a sequence number. The error we get in this case is OUT_OF_SEQUENCE rather than UNKNOWN_PRODUCER, which is fatal.
Attachments
Issue Links
- links to