DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
All operations are idempotent by transaction ID:
- `beginTransaction(id)` - returns existing if already started
- `prepareTransaction(id)` - no-op if already prepared
- `commitTransaction(id)` - no-op if already committed
- `abortTransaction(id)` - no-op if already aborted/committed
6. Wire Protocol Details
...
TxnShareAcknowledgeRequest
```
ShareAcknowledgeTransactionalRequest => GroupId TransactionId [Topics]
GroupId => STRING
TransactionId => STRING
Topics => TopicId [Partitions]
Partitions => Partition [AcknowledgementBatches]
AcknowledgementBatches => FirstOffset LastOffset AcknowledgeType
```
ShareBeginTransactionRequest
```
ShareBeginTransactionRequest => GroupId TransactionId TimeoutMs
GroupId => STRING
TransactionId => STRING
TimeoutMs => INT64
```Use existing InitProducerIdRequest
SharePrepareTransactionRequest
```
SharePrepareTransactionRequest => GroupId TransactionId
GroupId => STRING
TransactionId => STRING
```
Use existing EndTxnRequest
ShareCommitTransactionRequest / ShareAbortTransactionRequest
Handled by existing WriteTxnMarkersRequest (inter-broker) and EndTxnRequest(ABORT)
AddShareAcksToTxnRequest
mirrors AddOffsetsToTxnRequest; This tells the TransactionCoordinator to add __share_group_state partitions to the producer's transaction.```
ShareCommitTransactionRequest => GroupId TransactionId
GroupId => STRING
TransactionId => STRING
```
Compatibility, Deprecation, and Migration Plan
...