[SERVER-34648] Write test for all types of transaction write conflicts Created: 24/Apr/18  Updated: 29/Oct/23  Resolved: 05/Jun/18

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 4.0.0, 4.1.1

Type: Task Priority: Major - P3
Reporter: William Schultz (Inactive) Assignee: William Schultz (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
related to SERVER-34919 Write conflict between batched insert... Closed
related to SERVER-34650 Write test for transaction write conf... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0
Sprint: Repl 2018-05-07, Repl 2018-05-21, Repl 2018-06-04, Repl 2018-06-18
Participants:
Linked BF Score: 0
Story Points: 4

 Description   

We want to verify that all possible types of write conflicts correctly abort transactions. This can generally be tested by running two transactions in different sessions, and exercising the cases listed below. There may be additional interesting cases that are worth testing.

Single Document Conflicts

  1. Two transactions update the same document
  2. Two transactions try to delete the same document
  3. Two transactions try to insert identical documents
  4. One transaction tries to delete a document D and the other transactions tries to update document D

Predicate Based Conflicts

  1. Two transactions execute a predicate based update and the document sets updated by each transaction intersect
  2. Two transactions execute a predicate based delete and the document sets delete by each transaction intersect
  3. One transaction executes a predicate based delete, another transaction executes a predicate based update and the document sets targeted by each transaction intersect.


 Comments   
Comment by Githook User [ 06/Jun/18 ]

Author:

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

Message: SERVER-34648 Tag write_conflicts.js library with uses_transactions

(cherry picked from commit 8d2ff6ae7c17b32eb31b8d35bb2e42a9a64169aa)
Branch: v4.0
https://github.com/mongodb/mongo/commit/967e8eb7cd2f3835663dda89176a2118ac5a06fa

Comment by Githook User [ 06/Jun/18 ]

Author:

{'username': 'visualzhou', 'name': 'Siyuan Zhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-34648 Fix lint

(cherry picked from commit 89820c9380b4c71323d3bfe166156f39d4ddae28)
Branch: v4.0
https://github.com/mongodb/mongo/commit/2c0d6d82c796c62da4be88bb283ec32ef5218dce

Comment by Githook User [ 06/Jun/18 ]

Author:

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

Message: SERVER-34648 Add test for unique index write conflicts in transactions

(cherry picked from commit 96f3bf9c2f9d8180e5852ff7ec6bdfee545762b4)
Branch: v4.0
https://github.com/mongodb/mongo/commit/28588dc6ff0bd23f59dfef5f9715aff419f0a130

Comment by Githook User [ 06/Jun/18 ]

Author:

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

Message: SERVER-34648 Add write conflicts test library

(cherry picked from commit 975569e47b84dd70c20e81b2abb6b991195c8391)
Branch: v4.0
https://github.com/mongodb/mongo/commit/4c5f65fe2d029492c4485f0593f0001f48774967

Comment by Githook User [ 06/Jun/18 ]

Author:

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

Message: SERVER-34648 Tag write_conflicts.js library with uses_transactions
Branch: master
https://github.com/mongodb/mongo/commit/8d2ff6ae7c17b32eb31b8d35bb2e42a9a64169aa

Comment by Githook User [ 06/Jun/18 ]

Author:

{'username': 'visualzhou', 'name': 'Siyuan Zhou', 'email': 'siyuan.zhou@mongodb.com'}

Message: SERVER-34648 Fix lint
Branch: master
https://github.com/mongodb/mongo/commit/89820c9380b4c71323d3bfe166156f39d4ddae28

Comment by Githook User [ 05/Jun/18 ]

Author:

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

Message: SERVER-34648 Add test for unique index write conflicts in transactions
Branch: master
https://github.com/mongodb/mongo/commit/96f3bf9c2f9d8180e5852ff7ec6bdfee545762b4

Comment by Githook User [ 05/Jun/18 ]

Author:

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

Message: SERVER-34648 Add write conflicts test library
Branch: master
https://github.com/mongodb/mongo/commit/975569e47b84dd70c20e81b2abb6b991195c8391

Comment by William Schultz (Inactive) [ 05/Jun/18 ]

Code review url (Refactor write conflict testing logic into helper library): https://mongodbcr.appspot.com/206660001/

Comment by Githook User [ 04/Jun/18 ]

Author:

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

Message: SERVER-34648 Add test case for an additional transaction write conflict ordering

(cherry picked from commit 27b080da5ab09b324514a62ab38a3e6463e0d1c1)
Branch: v4.0
https://github.com/mongodb/mongo/commit/afc1761507fe6a36ba4ae8eca7c4375a153fff2e

Comment by Githook User [ 04/Jun/18 ]

Author:

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

Message: SERVER-34648 Add test case for an additional transaction write conflict ordering
Branch: master
https://github.com/mongodb/mongo/commit/27b080da5ab09b324514a62ab38a3e6463e0d1c1

Comment by William Schultz (Inactive) [ 31/May/18 ]

Code review url (Add test for additional write conflict ordering): https://mongodbcr.appspot.com/209100003

Comment by Githook User [ 08/May/18 ]

Author:

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

Message: SERVER-34648 Add test for all types of transactions write conflicts
Branch: master
https://github.com/mongodb/mongo/commit/4bd54f91aff69e050656b709d09d86c6584e15b6

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