Hi Gustavo (& team)! I’m really excited by this package. A few follow-up questions:
1.) Is mgo/txn still experimental? How much active development on the project?
2.) What’s the status of the race condition that’s been identified? Any impact on production systems using mgo/txn?
3.) Reading through MongoDB’s documentation on two-phase commits, I see:
Because only single-document operations are atomic with MongoDB, two-phase commits can only offer transaction-like semantics. It is possible for applications to return intermediate data at intermediate points during the two-phase commit or rollback."
Is this still true for users of mgo/txn? Or does it implement transactions in a way that will prevent dirty reads? For fields modified by txn, is reading only allowed through txn as well?