From d71197cd35db0b0e66120f37443be6a5dfc2669d Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Fri, 15 Jul 2011 18:43:33 -0400
Subject: [PATCH] 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
---
 src/test/isolation/expected/fk-deadlock.out  | 4 ++--
 src/test/isolation/expected/fk-deadlock2.out | 8 ++++----
 src/test/isolation/specs/fk-deadlock.spec    | 4 ++--
 src/test/isolation/specs/fk-deadlock2.spec   | 4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/test/isolation/expected/fk-deadlock.out b/src/test/isolation/expected/fk-deadlock.out
index 6b6ee163c7c..0d86cda1ca1 100644
--- a/src/test/isolation/expected/fk-deadlock.out
+++ b/src/test/isolation/expected/fk-deadlock.out
@@ -32,8 +32,8 @@ step s1i:  INSERT INTO child VALUES (1, 1);
 step s2i:  INSERT INTO child VALUES (2, 1); 
 step s2u:  UPDATE parent SET aux = 'baz';  <waiting ...>
 step s1u:  UPDATE parent SET aux = 'bar'; 
-step s2u: <... completed>
 ERROR:  deadlock detected
+step s2u: <... completed>
 step s2c:  COMMIT; 
 step s1c:  COMMIT; 
 
@@ -52,8 +52,8 @@ step s2i:  INSERT INTO child VALUES (2, 1);
 step s1i:  INSERT INTO child VALUES (1, 1); 
 step s2u:  UPDATE parent SET aux = 'baz';  <waiting ...>
 step s1u:  UPDATE parent SET aux = 'bar'; 
-step s2u: <... completed>
 ERROR:  deadlock detected
+step s2u: <... completed>
 step s2c:  COMMIT; 
 step s1c:  COMMIT; 
 
diff --git a/src/test/isolation/expected/fk-deadlock2.out b/src/test/isolation/expected/fk-deadlock2.out
index af3ce8ecfd3..6e7f12d165a 100644
--- a/src/test/isolation/expected/fk-deadlock2.out
+++ b/src/test/isolation/expected/fk-deadlock2.out
@@ -42,8 +42,8 @@ step s1u1:  UPDATE A SET Col1 = 1 WHERE AID = 1;
 step s2u1:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
 step s2u2:  UPDATE B SET Col2 = 1 WHERE BID = 2;  <waiting ...>
 step s1u2:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
-step s2u2: <... completed>
 ERROR:  deadlock detected
+step s2u2: <... completed>
 step s1c:  COMMIT; 
 step s2c:  COMMIT; 
 
@@ -52,8 +52,8 @@ step s1u1:  UPDATE A SET Col1 = 1 WHERE AID = 1;
 step s2u1:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
 step s2u2:  UPDATE B SET Col2 = 1 WHERE BID = 2;  <waiting ...>
 step s1u2:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
-step s2u2: <... completed>
 ERROR:  deadlock detected
+step s2u2: <... completed>
 step s2c:  COMMIT; 
 step s1c:  COMMIT; 
 
@@ -82,8 +82,8 @@ step s2u1:  UPDATE B SET Col2 = 1 WHERE BID = 2;
 step s1u1:  UPDATE A SET Col1 = 1 WHERE AID = 1; 
 step s2u2:  UPDATE B SET Col2 = 1 WHERE BID = 2;  <waiting ...>
 step s1u2:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
-step s2u2: <... completed>
 ERROR:  deadlock detected
+step s2u2: <... completed>
 step s1c:  COMMIT; 
 step s2c:  COMMIT; 
 
@@ -92,8 +92,8 @@ step s2u1:  UPDATE B SET Col2 = 1 WHERE BID = 2;
 step s1u1:  UPDATE A SET Col1 = 1 WHERE AID = 1; 
 step s2u2:  UPDATE B SET Col2 = 1 WHERE BID = 2;  <waiting ...>
 step s1u2:  UPDATE B SET Col2 = 1 WHERE BID = 2; 
-step s2u2: <... completed>
 ERROR:  deadlock detected
+step s2u2: <... completed>
 step s2c:  COMMIT; 
 step s1c:  COMMIT; 
 
diff --git a/src/test/isolation/specs/fk-deadlock.spec b/src/test/isolation/specs/fk-deadlock.spec
index 530cf108399..b533d77e0bc 100644
--- a/src/test/isolation/specs/fk-deadlock.spec
+++ b/src/test/isolation/specs/fk-deadlock.spec
@@ -19,13 +19,13 @@ teardown
 }
 
 session "s1"
-setup		{ BEGIN; }
+setup		{ BEGIN; SET deadlock_timeout = '20ms'; }
 step "s1i"	{ INSERT INTO child VALUES (1, 1); }
 step "s1u"	{ UPDATE parent SET aux = 'bar'; }
 step "s1c"	{ COMMIT; }
 
 session "s2"
-setup		{ BEGIN; }
+setup		{ BEGIN; SET deadlock_timeout = '10s'; }
 step "s2i"	{ INSERT INTO child VALUES (2, 1); }
 step "s2u"	{ UPDATE parent SET aux = 'baz'; }
 step "s2c"	{ COMMIT; }
diff --git a/src/test/isolation/specs/fk-deadlock2.spec b/src/test/isolation/specs/fk-deadlock2.spec
index 91a87d13ef5..5653628cf7c 100644
--- a/src/test/isolation/specs/fk-deadlock2.spec
+++ b/src/test/isolation/specs/fk-deadlock2.spec
@@ -24,13 +24,13 @@ teardown
 }
 
 session "s1"
-setup		{ BEGIN; }
+setup		{ BEGIN; SET deadlock_timeout = '20ms'; }
 step "s1u1"	{ UPDATE A SET Col1 = 1 WHERE AID = 1; }
 step "s1u2"	{ UPDATE B SET Col2 = 1 WHERE BID = 2; }
 step "s1c"	{ COMMIT; }
 
 session "s2"
-setup		{ BEGIN; }
+setup		{ BEGIN; SET deadlock_timeout = '10s'; }
 step "s2u1"	{ UPDATE B SET Col2 = 1 WHERE BID = 2; }
 step "s2u2"	{ UPDATE B SET Col2 = 1 WHERE BID = 2; }
 step "s2c"	{ COMMIT; }
-- 
GitLab