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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 4 additions & 4 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 2 additions & 2 deletions
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy