DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
- Apache Flink: Exactly-once checkpointing with Share Group sources
- Apache Spark: Structured Streaming with Share Group consumers
- Any coordinator-worker streaming framework requiring atomic acknowledgements
Public Interfaces
| New API | Mirrors | Why Needed |
|---|---|---|
sendShareAcksToTransaction() | sendOffsetsToTransaction() | Acks are stored in __share_group_state, not __consumer_offsets |
AddShareAcksToTxnRequest | AddOffsetsToTxnRequest | Transaction coordinator must track __share_group_state partitions |
TxnShareAcknowledgeRequest | TxnOffsetCommitRequest | Ack semantics are per‑record state, not per‑offset |
APIs
- KafkaProducer.sendShareAcksToTransaction(acks, groupId) - for CTP
- This mirrors the existing KafkaProducer.sendOffsetsToTransaction(offsets, groupMetadata)
...
Compatibility, Deprecation, and Migration Plan
Impact on Existing Users
...
- If older broker doesn’t support
TxnShareAcknowledgeRequest, fallback to current explicit/implicit ack with warning. - Clients must fail fast on unsupported brokers
- No breaking changes for existing Share Group users
...
- `transactional` mode is opt-in via `share.acknowledgement.mode` config
...
- Existing `implicit` and `explicit` modes continue to work unchanged
Migration Path
1. Phase 1: Add `transactional` acknowledgement mode (backward compatible)
2. Phase 2: Streaming frameworks (Flink, Spark) implement transactional sources
3. Phase 3: Documentation and best practices for exactly-once semantics
...