Hello!
Was using transactions with mongocxx driver for some while now.
The interesting thing is that I was using transactions with it and my cluster always had arbiters, this is working fine with the transactions and everything.
Using Mongodb version 6.0.23, mongocxx driver 3.7.
Lately, was trying out some similar code with golang and found out that the transactions are not supported with arbiters, got the following errors from the golang implementation:
(ReadConcernMajorityNotEnabled) Transaction was aborted :: caused by :: from shard shard3 :: caused by :: 'prepareTransaction' is not supported for replica sets with arbiters
This makes sense according to the documentation, but still this is working with no errors in mongocxx code.
Questions are:
- how does the transactions work with arbiters when using mongocxx driver? using version 3.7
- how do we make them work using the golang driver as well? (can’t cancel the arbiter) using version v1.16.1
Thanks!