Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit d71197c

Browse files
committed
Set different deadlock_timeout on each session in new isolation tests
This provides deterministic deadlock-detection ordering for new isolation tests, fixing the sporadic failures in them. Author: Noah Misch
1 parent bf3c585 commit d71197c

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed

src/test/isolation/expected/fk-deadlock.out

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ step s1i: INSERT INTO child VALUES (1, 1);
3232
step s2i: INSERT INTO child VALUES (2, 1);
3333
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
3434
step s1u: UPDATE parent SET aux = 'bar';
35-
step s2u: <... completed>
3635
ERROR: deadlock detected
36+
step s2u: <... completed>
3737
step s2c: COMMIT;
3838
step s1c: COMMIT;
3939

@@ -52,8 +52,8 @@ step s2i: INSERT INTO child VALUES (2, 1);
5252
step s1i: INSERT INTO child VALUES (1, 1);
5353
step s2u: UPDATE parent SET aux = 'baz'; <waiting ...>
5454
step s1u: UPDATE parent SET aux = 'bar';
55-
step s2u: <... completed>
5655
ERROR: deadlock detected
56+
step s2u: <... completed>
5757
step s2c: COMMIT;
5858
step s1c: COMMIT;
5959

src/test/isolation/expected/fk-deadlock2.out

+4-4
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
4242
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
4343
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
4444
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
45-
step s2u2: <... completed>
4645
ERROR: deadlock detected
46+
step s2u2: <... completed>
4747
step s1c: COMMIT;
4848
step s2c: COMMIT;
4949

@@ -52,8 +52,8 @@ step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
5252
step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
5353
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
5454
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
55-
step s2u2: <... completed>
5655
ERROR: deadlock detected
56+
step s2u2: <... completed>
5757
step s2c: COMMIT;
5858
step s1c: COMMIT;
5959

@@ -82,8 +82,8 @@ step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
8282
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
8383
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
8484
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
85-
step s2u2: <... completed>
8685
ERROR: deadlock detected
86+
step s2u2: <... completed>
8787
step s1c: COMMIT;
8888
step s2c: COMMIT;
8989

@@ -92,8 +92,8 @@ step s2u1: UPDATE B SET Col2 = 1 WHERE BID = 2;
9292
step s1u1: UPDATE A SET Col1 = 1 WHERE AID = 1;
9393
step s2u2: UPDATE B SET Col2 = 1 WHERE BID = 2; <waiting ...>
9494
step s1u2: UPDATE B SET Col2 = 1 WHERE BID = 2;
95-
step s2u2: <... completed>
9695
ERROR: deadlock detected
96+
step s2u2: <... completed>
9797
step s2c: COMMIT;
9898
step s1c: COMMIT;
9999

src/test/isolation/specs/fk-deadlock.spec

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ teardown
1919
}
2020

2121
session "s1"
22-
setup { BEGIN; }
22+
setup { BEGIN; SET deadlock_timeout = '20ms'; }
2323
step "s1i" { INSERT INTO child VALUES (1, 1); }
2424
step "s1u" { UPDATE parent SET aux = 'bar'; }
2525
step "s1c" { COMMIT; }
2626

2727
session "s2"
28-
setup { BEGIN; }
28+
setup { BEGIN; SET deadlock_timeout = '10s'; }
2929
step "s2i" { INSERT INTO child VALUES (2, 1); }
3030
step "s2u" { UPDATE parent SET aux = 'baz'; }
3131
step "s2c" { COMMIT; }

src/test/isolation/specs/fk-deadlock2.spec

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ teardown
2424
}
2525

2626
session "s1"
27-
setup { BEGIN; }
27+
setup { BEGIN; SET deadlock_timeout = '20ms'; }
2828
step "s1u1" { UPDATE A SET Col1 = 1 WHERE AID = 1; }
2929
step "s1u2" { UPDATE B SET Col2 = 1 WHERE BID = 2; }
3030
step "s1c" { COMMIT; }
3131

3232
session "s2"
33-
setup { BEGIN; }
33+
setup { BEGIN; SET deadlock_timeout = '10s'; }
3434
step "s2u1" { UPDATE B SET Col2 = 1 WHERE BID = 2; }
3535
step "s2u2" { UPDATE B SET Col2 = 1 WHERE BID = 2; }
3636
step "s2c" { COMMIT; }

0 commit comments

Comments
 (0)