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

feat: transactions #323

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

rkrishn7
Copy link

@rkrishn7 rkrishn7 commented Aug 17, 2024

This PR adds client support for Pulsar Transactions.

Resolves #253

Notes:

  • This PR tries to mimic the Java client where possible. More details on transactions in Pulsar can be found here.
  • Will likely need to edit the Pulsar service container in CI to enable the TC and bootstrap transaction metadata
  • This PR necessitates a breaking version change as it adds a new error variant

Open Questions:

  • Should these changes be gated behind a feature flag?
  • This change likely has implications when buffering in the producer. Thoughts on how we should handle that?
  • The main Transaction API uses internal synchronization to provide a "no mut" public interface. Are there any alternative approaches that may be better?

@rkrishn7
Copy link
Author

@FlorentinDUBOIS Tagging you for visibility. I know this is a lot so no rush here!

@rkrishn7
Copy link
Author

Bumping and tagging some additional folks - @freeznet @BewareMyPower

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.

Transaction API support
1 participant