Working with transactions and arbiters

update:

  • was able to recreate this error with mongocxx as well.
    • seems that this happens when the transaction is doing updates across multiple shards.
    • apparently this was not happening for me up until now with the cpp usage.
  • so the question is, how can setups using arbiters can overcome this? should they revert to use a simple operation without transaction when this error happens? seems unsafe.
    • not using arbiters does not work with my design which does not have enough resources for a full 3 replica-set.

Thanks!