Skip to content

Kafka pubsub: document transactions and exactly-once processing - #5276

Draft
javier-aliaga wants to merge 1 commit into
dapr:v1.19from
javier-aliaga:docs/kafka-exactly-once-semantics
Draft

Kafka pubsub: document transactions and exactly-once processing#5276
javier-aliaga wants to merge 1 commit into
dapr:v1.19from
javier-aliaga:docs/kafka-exactly-once-semantics

Conversation

@javier-aliaga

Copy link
Copy Markdown
Contributor

Thank you for helping make the Dapr documentation better!

Please follow this checklist before submitting:

  • Commits are signed with Developer Certificate of Origin (DCO - learn more)
  • Read the contribution guide
  • Commands include options for Linux, MacOS, and Windows within tabpane
  • New file and folder names are globally unique
  • Page references use shortcodes instead of markdown or URL links
  • Images use HTML style and have alternative text
  • Places where multiple code/command options are given have tabpane

Description

Documents the Kafka transactions support added to the Kafka pubsub component in dapr/components-contrib#4508 (targeted at Dapr 1.19):

  • setup-apache-kafka.md: five new spec metadata fields (producerTransactionsEnabled, consumerTransactionsEnabled, transactionalIdPrefix, consumerIsolationLevel, transactionTimeout) and a new "Kafka transactions and exactly-once processing" section covering transactional publishing, committed-only consumption, and the exactly-once consume-transform-produce pattern — the __txnToken echo contract (HTTP/gRPC/bulk), failure and redelivery semantics, scope of the guarantee, transaction timeout guidance, and scaling/zombie-fencing notes. The __txnToken entry is also added to the per-call metadata fields and consumer-side special headers lists.
  • kafka.md (bindings): the producer-side transaction fields and consumerIsolationLevel, plus a note that consumerTransactionsEnabled is rejected at init for bindings and why (pubsub-only feature).

This is the documentation PR required by dapr/components-contrib#4508; both should ship in the same release. Unchecked checklist items (tabpane, images) are not applicable: the changes are reference tables, YAML component snippets, and one single-command HTTP example on pages that don't use tabpane for these.

Issue reference

dapr/components-contrib#4301

Documents the new Kafka transactions metadata (producerTransactionsEnabled,
consumerTransactionsEnabled, transactionalIdPrefix, consumerIsolationLevel,
transactionTimeout) and the exactly-once consume-transform-produce pattern
introduced in dapr/components-contrib#4508, including the __txnToken echo
contract, fencing/scaling guidance, and the bindings limitation.

Signed-off-by: Javier Aliaga <javier@diagrid.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant