Repository navigation
(Official) access to TransactionCoordinatorClient #26452
TomaszGaweda
started this conversation in
Ideas
Replies: 2 comments 1 reply
|
PoC of changes needed: https://github.com/TomaszGaweda/pulsar/tree/move-TransactionCoordinatorClient-to-public-api |
0 replies
|
@TomaszGaweda For v5 API, I was thinking we could expose a way to serialize/deserialize the id of the transactions, so that you could be able to "restore" an existing txn and commit/abort. The only concern is around what could effectively become a "multi-client" instance transaction since, even if ones does not abuse the API, it could be impossible to know if the previous client instance is still running. Need to put some more thoughts on this. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi!
Greatings from Hazelcast! We are now integrating Hazelcast with Pulsar and so far it's a great journey!
One thing that stands out as not-quite-great is our ability for commit or abort a transaction by ID itself. We snapshot transaction IDs (including TxnID), in case of failures we want to be able to reliably commit or abort transactions in progress. Right now it's impossible to do officially.
I can do following:
and Flink was also doing this.
However, it relies on casting to impl classes and using interface marked as PrivateApi. Is there a possibility, that such functionality could be released as a part of official API? Even if hidden under some accessors (e.g. TransactionCoordinator.getFor(client) + interface not private api; this will make it invisible to normal users and won't pollute main API).
Thanks in advance for reading my suggestion and I'll be happy to help with this if green lighted by Pulsar Team.
All reactions