v0.5.0 · Interface

transaction

Binding-scoped transactional Kafka publishing.

This is a separate capability from producer. Its binding supplies a stable transactional.id and, when send-offsets is used, a transaction.group.id. Keeping it separate prevents ordinary concurrent sends from joining a transaction implicitly and lets an operator grant transactional authority independently.

The provider owns the native producer. begin leases its single Kafka transaction slot and returns the stateful resource through which every participating send is made. The initial contract permits one active transaction per binding; a concurrent begin fails with state or a retriable resource error.

Each simultaneously live producer needs a distinct stable transactional.id. Deploying the same ID on two hosts or replicas causes Kafka to fence one of them. Elastic transaction pools therefore require an external stable-ID allocation scheme; this interface does not invent one.