inplace190-repro-autovacuum-v0.1.patch

text/plain

Filename: inplace190-repro-autovacuum-v0.1.patch
Type: text/plain
Part: 1
Message: Re: heap_inplace_lock vs. autovacuum w/ LOCKTAG_TUPLE

Patch

Format: unified
Series: patch v0
File+
src/test/isolation/expected/intra-grant-inplace-db.out 6 0
src/test/isolation/isolationtester.c 1 1
src/test/isolation/Makefile 3 0
src/test/isolation/specs/intra-grant-inplace-db.spec 1 0
Author:     Noah Misch <noah@leadboat.com>
Commit:     Noah Misch <noah@leadboat.com>

    

diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile
index ade2256..ca487de 100644
--- a/src/test/isolation/Makefile
+++ b/src/test/isolation/Makefile
@@ -64,6 +64,9 @@ installcheck: all
 check: all
 	$(pg_isolation_regress_check) --schedule=$(srcdir)/isolation_schedule
 
+nmcheck: all temp-install
+	$(pg_isolation_regress_check) intra-grant-inplace-db
+
 # Non-default tests.  It only makes sense to run these if set up to use
 # prepared transactions, via TEMP_CONFIG for the check case, or via the
 # postgresql.conf for the installcheck case.
diff --git a/src/test/isolation/expected/intra-grant-inplace-db.out b/src/test/isolation/expected/intra-grant-inplace-db.out
index a91402c..118cbaa 100644
--- a/src/test/isolation/expected/intra-grant-inplace-db.out
+++ b/src/test/isolation/expected/intra-grant-inplace-db.out
@@ -8,6 +8,12 @@ step snap3:
 step b1: BEGIN;
 step grant1: 
 	GRANT TEMP ON DATABASE isolation_regression TO regress_temp_grantee;
+	SELECT pg_sleep(random(0.000, 1.200));
+
+pg_sleep
+--------
+        
+(1 row)
 
 step vac2: VACUUM (FREEZE); <waiting ...>
 step snap3: 
diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c
index 0b342b5..8a5e585 100644
--- a/src/test/isolation/isolationtester.c
+++ b/src/test/isolation/isolationtester.c
@@ -863,7 +863,7 @@ try_complete_step(TestSpec *testspec, PermutationStep *pstep, int flags)
 	while (PQisBusy(conn))
 	{
 		FD_SET(sock, &read_set);
-		timeout.tv_sec = 0;
+		timeout.tv_sec = 8;
 		timeout.tv_usec = 10000;	/* Check for lock waits every 10ms. */
 
 		ret = select(sock + 1, &read_set, NULL, NULL, &timeout);
diff --git a/src/test/isolation/specs/intra-grant-inplace-db.spec b/src/test/isolation/specs/intra-grant-inplace-db.spec
index 9de40ec..408e23f 100644
--- a/src/test/isolation/specs/intra-grant-inplace-db.spec
+++ b/src/test/isolation/specs/intra-grant-inplace-db.spec
@@ -18,6 +18,7 @@ session s1
 step b1	{ BEGIN; }
 step grant1	{
 	GRANT TEMP ON DATABASE isolation_regression TO regress_temp_grantee;
+	SELECT pg_sleep(random(0.000, 1.200));
 }
 step c1	{ COMMIT; }