Skip to content

Commit 8e600a4

Browse files
author
Isabella Siu
committed
resync transaction spec tests for bulk write error reporting change and for using majority write concern when retrying commitTransaction
GODRIVER-790 GODRIVER-844 Change-Id: I2b200b1aa15af235e6de4aa3a2020763d2b61451
1 parent 82905e3 commit 8e600a4

File tree

12 files changed

+497
-69
lines changed

12 files changed

+497
-69
lines changed

data/transactions/abort.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,6 @@
441441
}
442442
},
443443
"result": {
444-
"errorCodeName": "DuplicateKey",
445444
"errorLabelsOmit": [
446445
"TransientTransactionError",
447446
"UnknownTransactionCommitResult"

data/transactions/abort.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,9 @@ tests:
297297
document:
298298
_id: 1
299299
result:
300-
errorCodeName: DuplicateKey
300+
# Don't assert on errorCodeName because (after SERVER-38583) the
301+
# DuplicateKey is reported in writeErrors, not as a top-level
302+
# command error.
301303
errorLabelsOmit: ["TransientTransactionError", "UnknownTransactionCommitResult"]
302304
# Make sure the server aborted the transaction.
303305
- name: insertOne

data/transactions/commit.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,10 @@
315315
},
316316
"startTransaction": null,
317317
"autocommit": false,
318-
"writeConcern": null
318+
"writeConcern": {
319+
"w": "majority",
320+
"wtimeout": 10000
321+
}
319322
},
320323
"command_name": "commitTransaction",
321324
"database_name": "admin"
@@ -331,7 +334,10 @@
331334
},
332335
"startTransaction": null,
333336
"autocommit": false,
334-
"writeConcern": null
337+
"writeConcern": {
338+
"w": "majority",
339+
"wtimeout": 10000
340+
}
335341
},
336342
"command_name": "commitTransaction",
337343
"database_name": "admin"

data/transactions/commit.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,8 @@ tests:
204204
$numberLong: "1"
205205
startTransaction:
206206
autocommit: false
207-
writeConcern:
207+
# commitTransaction applies w:majority on retries
208+
writeConcern: { w: majority, wtimeout: 10000 }
208209
command_name: commitTransaction
209210
database_name: admin
210211
- command_started_event:
@@ -215,7 +216,7 @@ tests:
215216
$numberLong: "1"
216217
startTransaction:
217218
autocommit: false
218-
writeConcern:
219+
writeConcern: { w: majority, wtimeout: 10000 }
219220
command_name: commitTransaction
220221
database_name: admin
221222

data/transactions/error-labels.json

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
]
2626
},
2727
"result": {
28-
"errorCodeName": "DuplicateKey",
2928
"errorLabelsOmit": [
3029
"TransientTransactionError",
3130
"UnknownTransactionCommitResult"
@@ -747,7 +746,10 @@
747746
},
748747
"startTransaction": null,
749748
"autocommit": false,
750-
"writeConcern": null
749+
"writeConcern": {
750+
"w": "majority",
751+
"wtimeout": 10000
752+
}
751753
},
752754
"command_name": "commitTransaction",
753755
"database_name": "admin"
@@ -763,7 +765,10 @@
763765
},
764766
"startTransaction": null,
765767
"autocommit": false,
766-
"writeConcern": null
768+
"writeConcern": {
769+
"w": "majority",
770+
"wtimeout": 10000
771+
}
767772
},
768773
"command_name": "commitTransaction",
769774
"database_name": "admin"
@@ -879,7 +884,10 @@
879884
},
880885
"startTransaction": null,
881886
"autocommit": false,
882-
"writeConcern": null
887+
"writeConcern": {
888+
"w": "majority",
889+
"wtimeout": 10000
890+
}
883891
},
884892
"command_name": "commitTransaction",
885893
"database_name": "admin"
@@ -895,7 +903,10 @@
895903
},
896904
"startTransaction": null,
897905
"autocommit": false,
898-
"writeConcern": null
906+
"writeConcern": {
907+
"w": "majority",
908+
"wtimeout": 10000
909+
}
899910
},
900911
"command_name": "commitTransaction",
901912
"database_name": "admin"
@@ -1024,7 +1035,8 @@
10241035
"startTransaction": null,
10251036
"autocommit": false,
10261037
"writeConcern": {
1027-
"w": "majority"
1038+
"w": "majority",
1039+
"wtimeout": 10000
10281040
}
10291041
},
10301042
"command_name": "commitTransaction",
@@ -1042,7 +1054,8 @@
10421054
"startTransaction": null,
10431055
"autocommit": false,
10441056
"writeConcern": {
1045-
"w": "majority"
1057+
"w": "majority",
1058+
"wtimeout": 10000
10461059
}
10471060
},
10481061
"command_name": "commitTransaction",
@@ -1172,7 +1185,8 @@
11721185
"startTransaction": null,
11731186
"autocommit": false,
11741187
"writeConcern": {
1175-
"w": "majority"
1188+
"w": "majority",
1189+
"wtimeout": 10000
11761190
}
11771191
},
11781192
"command_name": "commitTransaction",
@@ -1306,7 +1320,8 @@
13061320
"startTransaction": null,
13071321
"autocommit": false,
13081322
"writeConcern": {
1309-
"w": "majority"
1323+
"w": "majority",
1324+
"wtimeout": 10000
13101325
}
13111326
},
13121327
"command_name": "commitTransaction",

data/transactions/error-labels.yml

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ tests:
1717
- _id: 1
1818
- _id: 1
1919
result:
20-
errorCodeName: DuplicateKey
20+
# Don't assert on errorCodeName because (after SERVER-38583) the
21+
# DuplicateKey is reported in writeErrors, not as a top-level
22+
# command error.
2123
errorLabelsOmit: ["TransientTransactionError", "UnknownTransactionCommitResult"]
2224
- name: abortTransaction
2325
object: session0
@@ -461,7 +463,8 @@ tests:
461463
$numberLong: "1"
462464
startTransaction:
463465
autocommit: false
464-
writeConcern:
466+
# commitTransaction applies w:majority on retries
467+
writeConcern: { w: majority, wtimeout: 10000 }
465468
command_name: commitTransaction
466469
database_name: admin
467470
- command_started_event:
@@ -472,7 +475,7 @@ tests:
472475
$numberLong: "1"
473476
startTransaction:
474477
autocommit: false
475-
writeConcern:
478+
writeConcern: { w: majority, wtimeout: 10000 }
476479
command_name: commitTransaction
477480
database_name: admin
478481

@@ -544,7 +547,8 @@ tests:
544547
$numberLong: "1"
545548
startTransaction:
546549
autocommit: false
547-
writeConcern:
550+
# commitTransaction applies w:majority on retries
551+
writeConcern: { w: majority, wtimeout: 10000 }
548552
command_name: commitTransaction
549553
database_name: admin
550554
- command_started_event:
@@ -555,7 +559,7 @@ tests:
555559
$numberLong: "1"
556560
startTransaction:
557561
autocommit: false
558-
writeConcern:
562+
writeConcern: { w: majority, wtimeout: 10000 }
559563
command_name: commitTransaction
560564
database_name: admin
561565

@@ -634,8 +638,8 @@ tests:
634638
$numberLong: "1"
635639
startTransaction:
636640
autocommit: false
637-
writeConcern:
638-
w: majority
641+
# commitTransaction applies w:majority on retries
642+
writeConcern: { w: majority, wtimeout: 10000 }
639643
command_name: commitTransaction
640644
database_name: admin
641645
- command_started_event:
@@ -646,8 +650,8 @@ tests:
646650
$numberLong: "1"
647651
startTransaction:
648652
autocommit: false
649-
writeConcern:
650-
w: majority
653+
# commitTransaction applies w:majority on retries
654+
writeConcern: { w: majority, wtimeout: 10000 }
651655
command_name: commitTransaction
652656
database_name: admin
653657

@@ -726,8 +730,8 @@ tests:
726730
$numberLong: "1"
727731
startTransaction:
728732
autocommit: false
729-
writeConcern:
730-
w: majority
733+
# commitTransaction applies w:majority on retries
734+
writeConcern: { w: majority, wtimeout: 10000 }
731735
command_name: commitTransaction
732736
database_name: admin
733737

@@ -808,8 +812,8 @@ tests:
808812
$numberLong: "1"
809813
startTransaction:
810814
autocommit: false
811-
writeConcern:
812-
w: majority
815+
# commitTransaction applies w:majority on retries
816+
writeConcern: { w: majority, wtimeout: 10000 }
813817
command_name: commitTransaction
814818
database_name: admin
815819

0 commit comments

Comments
 (0)