Hi chaps,
I’m implementing transaction support for my eventstore usage (initially it passed me by that GES doesn’t enroll in System.Transactions.TransactionScope-style usage so maybe that could be shouted-out in the docs?) and have seen EventStoreTransaction ContinueTransaction(long transactionId). Yes, I use a container with a per-request lifestyle for my connections.
What is the expected use-case for this? I was planning on potentially making multiple writes to a single EventStoreTransaction object reference, but basically apart from calling Commit() when I’m done, the usage isn’t much different to using EventStoreConnection as I have until now.
I guess I’m mostly looking for confirmation that I don’t need ContinueTransaction() in my case, and that there’s a specific reason for it being there.
Thanks in advance,
Neil.
StartTransaction -> id
Write
Write
//Node falls over
Different node
ContinueTransaction id
Write
Commit
So I should actually be retrieving the transaction by it’s ID for every write, because I don’t know whether the node I started with is still the one I’m using? What about the connection I use? Should I use EventStoreConnection.Create() for every write (obviously not if there’s more than one write in a given block of code, but perhaps where multiple command handlers each cause writes to happen within a single request) to insulate myself from that?
This is the *client* dying and another client continuing its
transaction. When a server node dies nothing needs to be done.
Oooooooooohhh…
I thought it was odd, because I beat the hell out of a 5-node clustered (on one machine, admittedly) GES setup and it worked like a charm.
Cheers again.
I dont know anyone who has actually used it but can imagine some
interesting use cases