DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Ensure atomicity between share‑group acknowledgments and downstream side effects (e.g., Kafka transactions) so a record is either both processed and acknowledged or neither.
- Share consumer polls records -> broker sets them to
ACQUIRED. - Framework processes and acknowledges records (implicit or explicit).
- Checkpoint fails before sink outputs are committed.
- Records are permanently
ACKNOWLEDGED(not redelivered) -> data loss. - Note:
- Share records become terminal when acked:
RecordState - Ack path today is irreversible once ACKNOWLEDGED:
SharePartition.acknowledge()
- Share records become terminal when acked:
Goal: Enable exactly-once read semantics via transactional acknowledgements.
We will be following the similar existing pattern we have in Kafka Producer Transactions.
Use Cases
- Consume‑Transform‑Produce (CTP): bind acks to Kafka output transaction.
- Consume‑only frameworks: transactional acks independent of producer.
Frameworks:
- 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
...