These are chat archives for DevrexLabs/OrigoDB

Sep 2015
Yoad Snapir
Sep 17 2015 13:44
Hey Guys, I would like to get some more information regarding the transactional nature of OrigoDB commands. In the documentation, it is mentioned that to be able to perform multiple operations as a single atomic operation the CompositeCommand pattern is used. I wonder, does OrigoDB act as a volatile resource manager? If there is an ambient transaction involving for example a SQL DB and an MSMQ queue, would rolling back this transaction also rollback the changes made to the OrigoDB store?
I assume not, since I can see how every command modifies the data and commits as it ends - But that could be a very large limitation in business applications where transactional consistency across multiple resources is required.
Could you please confirm my thoughts ?
Robert Friberg
Sep 17 2015 14:01
You assume correct :) OrigoDB does not respect TransactionScope
Robert Friberg
Sep 17 2015 14:08
If processing messages off a queue I would 1. Grab a message. 2. Issue origodb command 3. acknowledge message if command succeeded
Robert Friberg
Sep 17 2015 14:14
So yeah, it is a limitation. On the other hand distributed transactions tend to really slow things down. So I usually try some alternative approach, compensating actions or use SAGAS.
@yoadsn so what are you building?