[SERVER-38856] txn_override.js should not rerun every operation in the ops buffer after collection creation Created: 04/Jan/19 Updated: 27/Oct/23 Resolved: 04/Apr/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Sharding, Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Samyukta Lanka | Assignee: | Judah Schvimer |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | prepare_testing | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Sprint: | Repl 2019-01-28, Repl 2019-02-11, Repl 2019-02-25, Repl 2019-03-11, Repl 2019-03-25, Repl 2019-04-08 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 7 | ||||||||||||||||||||
| Description |
|
In txn_override.js, if an insert attempts to do implicit collection creation inside a transaction, we will abort the transaction, create the collection outside of a transaction, and rerun all operations in the transaction. On a network error, we retry the entire transaction that was running by rerunning all buffered operations. If, while retrying a transaction, an implicit collection creation happens, then we will re-run all the operations after the operation that caused the implicit collection creation twice. Instead of rerunning all operations after creating the collection, we should only rerun all operations that happened before (and including) the operation that caused the implicit collection creation. |
| Comments |
| Comment by Judah Schvimer [ 04/Apr/19 ] |
|
This code went away with |