[SERVER-33412] Error on writes with unsupported transaction options Created: 20/Feb/18 Updated: 29/Oct/23 Resolved: 13/Apr/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.4 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Matthew Russotto |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||
| Sprint: | Repl 2018-04-23 | ||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||
| Linked BF Score: | 45 | ||||||||||||||||||||||||||||||||||||
| Description |
|
We may want to support one-shot autocommit batch writes at some point in the future, but we won't for 4.0. To ensure we're leaving the door open for that in the future, any write command that explicitly receives autocommit:true should error. Additionally, any write command run with readConcern:snapshot outside of a multi-doc transaction should also error. Finally any write command run inside of a multi-doc transaction should error if a writeConcern is explicitly specified for the write |
| Comments |
| Comment by Githook User [ 14/Apr/18 ] |
|
Author: {'email': 'william.schultz@mongodb.com', 'name': 'William Schultz', 'username': 'will62794'}Message: |
| Comment by Githook User [ 13/Apr/18 ] |
|
Author: {'email': 'matthew.russotto@10gen.com', 'name': 'Matthew Russotto', 'username': 'mtrussotto'}Message: |
| Comment by Spencer Brody (Inactive) [ 05/Apr/18 ] |
|
The first two items in the description may have already been covered by existing work |
| Comment by Spencer Brody (Inactive) [ 22/Feb/18 ] |
|
We want writes with explicit autocommit:true to fail, as a way to leave open the possibility of adding in a future version the ability to run a batch write command as a one-shot transaction by explicitly specifying autocommit:true. |
| Comment by Eric Milkie [ 22/Feb/18 ] |
|
How is a write command with an explicit autocommit:true any different from a write command with an implicit autocommit:true (which is the default today)? |
| Comment by Tess Avitabile (Inactive) [ 21/Feb/18 ] |
|
Possibly as part of the same work, toward the end of the local snapshot reads project, we should error if a write command specifies read concern level snapshot without being in an autocommit=false transaction. This will let us hang behavior off the autocommitt flag and avoid implementing certain behaviors twice, such as updating all session state when the transaction is committed. |