[SERVER-38865] Create rollback test fixture that is compatible with prepared transactions Created: 06/Jan/19 Updated: 29/Oct/23 Resolved: 24/Jan/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.8 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Pavithra Vetriselvan | Assignee: | Pavithra Vetriselvan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | prepare_testing | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Repl 2019-01-14, Repl 2019-01-28 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 8 | ||||||||||||||||||||||||
| Description |
|
Currently, we use rollback_test.js (3 nodes, PSA) and rollback_test_deluxe.js (5 nodes, PSSAA, for double rollbacks) for testing our rollback algorithm. Unfortunately, neither of these test fixtures will work with prepared transactions because we cannot run prepared transactions on replica sets with arbiters. Since we will likely want more test coverage of rollback with prepared transactions, we should make a new test fixture that uses a PSS architecture. We can achieve something similar to the PSA architecture by setting one of the secondaries to priority: 0 and periodically stopping/restarting replication on that node. |
| Comments |
| Comment by Githook User [ 24/Jan/19 ] |
|
Author: {'username': 'pvselvan', 'email': 'pvselvan@umich.edu', 'name': 'Pavi Vetriselvan'}Message: |
| Comment by Judah Schvimer [ 07/Jan/19 ] |
|
I agree with tess.avitabile that it should replace it. In addition to it being unsupported, I think having fewer test fixtures is better. |
| Comment by Pavithra Vetriselvan [ 07/Jan/19 ] |
|
judah.schvimer I don't think it would replace rollback_test.js. Maybe we could extend rollback_test.js to accommodate prepared transactions? But to answer your question, I intended for this ticket to make prepare rollback testing easier. |
| Comment by Tess Avitabile (Inactive) [ 07/Jan/19 ] |
|
I would suggest this replace rollback_test.js, since PSA and enableMajorityReadConcern:true is not a supported configuration. |
| Comment by Judah Schvimer [ 07/Jan/19 ] |
|
pavithra.vetriselvan, is this fixture expected to replace rollback_test.js or just be used in the fuzzer and prepare rollback tests? |