DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
Apache Kafka provides exactly-once semantics (EOS) only within the boundary of a single cluster. The transactional protocol introduced by KIP-98, hardened by KIP-890,
extended for external 2PC participation by KIP-939, (and abstracted into a first-class client object by KIP-1310 - in progress), is in every case scoped to one transaction coordinator on one cluster.
There is no native mechanism in Kafka today for an application to atomically commit a write to cluster A together with a write to cluster B, or to atomically advance a consumer offset on cluster A together with a produce to cluster B.
This KIP proposes a Global Transaction Coordinator (GTC) — a new optional Kafka role, deployable on existing brokers via process.roles=...,gtc —
that orchestrates a two-phase commit protocol across two or more participating Kafka clusters.
The proposal composes existing primitives (prepareTransaction / completeTransaction, rather than reinventing them.
Participating clusters opt in via a single configuration flag and remain individually unaware of one another; coordination flows exclusively through the GTC.
The result is a Kafka-native, end-to-end EOS guarantee for read-process-write workloads, mirroring topologies, and multi-cluster fan-out —
without requiring third-party transaction managers, sink-side dedup conventions, or application-level compensation logicDescribe the problems you are trying to solve.
Public Interfaces
Briefly list any new interfaces that will be introduced as part of this proposal or any existing interfaces that will be removed or changed. The purpose of this section is to concisely call out the public contract that will come along with this feature.
...