Skip to content

[KIP-664] Implement transaction management Admin APIs - #5496

Open
Mario Longobardi (mlongob) wants to merge 1 commit into
confluentinc:masterfrom
mlongob:kip-664
Open

[KIP-664] Implement transaction management Admin APIs#5496
Mario Longobardi (mlongob) wants to merge 1 commit into
confluentinc:masterfrom
mlongob:kip-664

Conversation

@mlongob

Copy link
Copy Markdown

Add four new Admin APIs for detecting and aborting hanging transactions as specified in KIP-664:

  • ListTransactions: Lists active transactions across all brokers with filtering by state, producer ID, duration, and transactional ID pattern. Supports API versions 0-2 with automatic version negotiation.

  • DescribeTransactions: Describes detailed transaction state including topics/partitions involved, producer epoch, and timing information. Routes requests to the appropriate transaction coordinators.

  • DescribeProducers: Retrieves active producer state from partition leaders including producer ID, epoch, sequence numbers, and transaction offsets.

  • AbortTransaction: Aborts hanging transactions by writing abort markers via the WriteTxnMarkers API. Takes producer state from DescribeProducers to construct the abort request.

All APIs include:

  • Public C API with opaque types and accessor functions
  • Kafka protocol request/response serialization
  • Admin fanout for multi-broker coordination
  • Mock cluster handler for ListTransactions
  • Comprehensive tests with mock and real cluster coverage
  • Example programs demonstrating usage

@mlongob
Mario Longobardi (mlongob) requested a review from a team as a code owner June 12, 2026 17:57
@confluent-cla-assistant

confluent-cla-assistant Bot commented Jun 12, 2026

Copy link
Copy Markdown

🎉 All Contributor License Agreements have been signed. Ready to merge.
✅ mlongob
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

Add four new Admin APIs for detecting and aborting hanging transactions
as specified in KIP-664:

- ListTransactions: Lists active transactions across all brokers with
  filtering by state, producer ID, duration, and transactional ID
  pattern. Supports API versions 0-2 with automatic version negotiation.

- DescribeTransactions: Describes detailed transaction state including
  topics/partitions involved, producer epoch, and timing information.
  Routes requests to the appropriate transaction coordinators.

- DescribeProducers: Retrieves active producer state from partition
  leaders including producer ID, epoch, sequence numbers, and
  transaction offsets.

- AbortTransaction: Aborts hanging transactions by writing abort markers
  via the WriteTxnMarkers API. Takes producer state from
  DescribeProducers to construct the abort request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant