Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-7298

Concurrent DeleteRecords can lead to fatal OutOfSequence error in producer

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.1
    • Component/s: None
    • Labels:
      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

            Activity

              People

              • Assignee:
                hachikuji Jason Gustafson
                Reporter:
                hachikuji Jason Gustafson
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: