[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/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 Safari/536.26.17
Referrer: http://www.mongodb.org/display/DOCS/two-phase+commit
Screen Resolution: 2560 x 1440


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
E-mail: huochunpeng@gmail.com



 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: DOCS-760: adding note about isolation in two phase commits
Branch: master
https://github.com/mongodb/docs/commit/ef6068aeaa29961989dfbdb4fbd1f79587b7603f

Generated at Thu Feb 08 07:39:27 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.