Hi Rowland, KIP-939 https://cwiki.apache.org/confluence/display/KAFKA/KIP-939%3A+Support+Participation+in+2PC introduces two-phase commit, but not XA support. I believe the KIP is expected to be delivered in Kafka 4.0 later this year. The way that it works and the use cases that it’s intended for were carefully considered and it intentionally does not support XA.
There would be a considerable amount of work for full XA support, in particular when you start to include other related technologies such as Java EE resource adapters that most people use in practice to exploit XA. I wonder whether the KIP-939 changes would make it viable to implement XAResource on top of the Kafka client for some specific scenarios at a much lower cost than full support. Personally, as a non-PMC member, I would not advocate trying to put full XA support into Kafka. Thanks, Andrew > On 1 Jan 2024, at 22:20, Rowland Smith <rowl...@gmail.com> wrote: > > Hi All, > > I am new to the Kafka developer community. After learning more about > Kafka's transactional capabilities recently, I became interested in > exploring what would be required to provide support for the XA interface > specified in the X/ Open Distributed Processing Model in the Kafka producer > client. I have put together a proof of concept to satisfy my curiosity, and > based on that work, I think that extending the Kafka producer with XA > support is doable with reasonable effort. > > As I understand the Kafka development team's process, the first step in the > process would be to produce a KIP describing the feature's goals and > design. My question in this email is whether XA support has ever been > considered previously by the PMC and if so, with what result. I don't want > to spend time working on a KIP if XA support is not something that the PMC > sees value in including and supporting in the Kafka codebase. > > Any feedback would be appreciated. I am excited to work on this feature if > there is interest in the community. > > Regards, > Rowland