[SERVER-32880] Add autocommit parameter to transaction API Created: 24/Jan/18  Updated: 30/Oct/23  Resolved: 21/Feb/18

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 3.7.3

Type: New Feature Priority: Major - P3
Reporter: Gregory McKeon (Inactive) Assignee: Pavithra Vetriselvan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-33132 libdocument_source.so should not depe... Closed
is depended on by SERVER-33336 Snapshot reads should not take MODE_I... Closed
is depended on by SERVER-32320 Push applyOps oplog entry generation ... Closed
is depended on by SERVER-32322 Allow doing a single update operation... Closed
Related
is related to SERVER-33423 Add unit-test coverage for autocommit... Closed
Backwards Compatibility: Fully Compatible
Sprint: Repl 2018-02-12, Repl 2018-02-26
Participants:

 Comments   
Comment by William Schultz (Inactive) [ 21/Feb/18 ]

Author:

{'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}

Message: Fix lint
Branch: master
https://github.com/mongodb/mongo/commit/38004a72fa1f34de2bba3f1711d06c914a4abcb7

Comment by Githook User [ 21/Feb/18 ]

Author:

{'email': 'pavithra.vetriselvan@mongodb.com', 'name': 'Pavithra Vetriselvan'}

Message: SERVER-32880 Parse and add autocommit parameter to Session
Branch: master
https://github.com/mongodb/mongo/commit/2d23f45b457d156a5e5f97de4a811cfe44b4fb0a

Comment by Githook User [ 15/Feb/18 ]

Author:

{'email': 'pavithra.vetriselvan@mongodb.com', 'name': 'Pavithra Vetriselvan'}

Message: SERVER-32880 create onMigrateBeginOnPrimary helper
Branch: master
https://github.com/mongodb/mongo/commit/537e479caf3c6a2db67c0fa1c5d6769c9aea8786

Comment by A. Jesse Jiryu Davis [ 24/Jan/18 ]

Perfect.

Comment by Spencer Brody (Inactive) [ 24/Jan/18 ]

That's a good point Jesse. I believe the current design calls for the earlier transaction to be implicitly aborted, but I can change this to say the new transaction errors and the original is left unaffected.

Comment by Gregory McKeon (Inactive) [ 24/Jan/18 ]

Pinging spencer since he isn't a watcher - can we make sure this gets back into the drivers implementation design doc?

Comment by A. Jesse Jiryu Davis [ 24/Jan/18 ]

Question, related to eventual support for nested transactions.

What happens if a client sends a command with an lsid, a new txnNumber, and autocommit: false, followed by another command with the same lsid, a new txnNumber, and autocommit: false?

I propose the server returns an error. Within a session, the current non-autocommit transaction must be committed or aborted before a new transaction begins.

This paves the way for eventual nested transactions, if we want to implement them: in the future, the server can choose to nest the new transaction instead of returning an error.

Generated at Thu Feb 08 04:31:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.