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

EndTxn handler should check strict epoch equality

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.6.0
    • Component/s: None
    • Labels:
      None

      Description

      The EndTxn path in TransactionCoordinator is shared between direct calls to EndTxn from the client and internal transaction abort logic. To support the latter, the code is written to allow an epoch bump. However, if the client bumps the epoch unexpectedly (e.g. due to a buggy implementation), then the internal invariants are violated which results in a hanging transaction. Specifically, the transaction is left in a pending state because the epoch following append to the log does not match what we expect.

      To fix this, we should ensure that an EndTxn from the client checks for strict epoch equality.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bchen225242 Boyang Chen
                Reporter:
                hachikuji Jason Gustafson
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: