Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify transactional producing #1434

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

svroonland
Copy link
Collaborator

@svroonland svroonland commented Jan 12, 2025

Introduce a much simpler way to use the transactional producer. It is no longer needed to install a complex rebalance listener, coupling your TransactionalProducer to a Consumeris enough.

See #1432 for documentation.

@erikvanoosten erikvanoosten force-pushed the transaction-rebalance-safe-commits-followup branch from 65dec9d to ad2ae68 Compare January 13, 2025 17:09
@erikvanoosten erikvanoosten added this to the 3.0.0 milestone Jan 13, 2025
@erikvanoosten erikvanoosten changed the title Transaction rebalance safe commits followup Simplify transactional producing Jan 13, 2025
This simplifies the setup for transactional producing and committing, no longer requiring a custom rebalance listener or the use of `partitionedAssignmentStream`. See `ConsumerSpec` for an example.

Note that the transaction ID is no longer used for fencing since https://cwiki.apache.org/confluence/display/KAFKA/KIP-447%3A+Producer+scalability+for+exactly+once+semantics, the mechanism relies on the consumer group metadata instead.

NOTE This change is not binary compatible and is therefore, for zio-kafka 3.0.0
@svroonland svroonland force-pushed the transaction-rebalance-safe-commits-followup branch from ad2ae68 to 6a632f8 Compare January 13, 2025 18:31
erikvanoosten added a commit that referenced this pull request Jan 15, 2025
Document the transactional producer introduced in #1434.
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.

2 participants