[SERVER-72994] Introduce autocommit: true for bulkWrite on mongod Created: 18/Jan/23 Updated: 20/Jul/23 Resolved: 20/Jul/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Lingzhi Deng | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | milestone-3 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Replication
|
||||||||
| Sprint: | Repl 2023-05-01 | ||||||||
| Participants: | |||||||||
| Description |
|
To support one-shot transactions, we need to introduce a notion of {autocommit: true} to commit the multi-statement transaction automatically when the command invocation completes. To do that, we will commit instead of stash the transaction when the command with {autocommit: true} succeeds. Technically {autocommit: true} could be attached to any command supported in multi-statement transactions. But we will only allow {autocommit: true} in bulkWrite for now to avoid changes to the semantics of existing commands. Currently, the server assumes that the autocommit field must be false when present (e.g. this and this). So we need to audit the code and make sure consumers of the autocommit field behave correctly when the value is true. |
| Comments |
| Comment by Sean Zimmerman [ 20/Jul/23 ] |
|
Won't do after WRITING-14907 |