[DOCS-760] Additional note for doc "Perform Two Phase Commits" Created: 15/Nov/12 Updated: 03/Nov/17 Resolved: 15/Nov/12 |
|
| Status: | Closed |
| Project: | Documentation |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | auto | Assignee: | Sam Kleinman (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | collector-298ba4e7 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Location: http://docs.mongodb.org/manual/tutorial/perform-two-phase-commits/ |
||
| Participants: | |
| Days since reply: | 11 years, 13 weeks, 6 days ago |
| Description |
|
The "transaction" implemented in the doc is not isolated. The committing is a group of atomic operations, so is the rollback. So all the inconsistent inner states are visible to other applications. What this implementation achieved is eventual consistency of multi documents update, but definitely not ACID. Since other applications can touch those documents while this transaction is committing and rollbacking, for fully reversible (rollback), this implementation can only support $inc operator. Because other atomic operators ($set, $pull ...) are not reversible without exclusive lock for write. Reporter: Chunpeng Huo |
| Comments |
| Comment by auto [ 15/Nov/12 ] |
|
Author: {u'date': u'2012-11-15T21:10:20Z', u'email': u'samk@10gen.com', u'name': u'Sam Kleinman'}Message: |