From eef1a609adfd0c41361aac2e04020bd199fb61fb Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 17 Apr 2018 11:26:37 -0400
Subject: [PATCH] Add more temporary debug logging, in 9.4 branch only.

Last night's results were inconclusive, but after more staring at the
code I've thought of some more data to gather.

Discussion: https://postgr.es/m/6744.1523833660@sss.pgh.pa.us
---
 src/backend/commands/indexcmds.c | 2 ++
 src/backend/utils/time/snapmgr.c | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index e8b9d1a4dd8..f3b9ef27d2b 100644
--- a/src/backend/commands/indexcmds.c
+++ b/src/backend/commands/indexcmds.c
@@ -773,6 +773,8 @@ DefineIndex(Oid relationId,
 
 	PopActiveSnapshot();
 	PrintSnapMgrStatus("concurrent index build, after PopActiveSnapshot");
+	elog(LOG, "concurrent index build: releasing snap %p with regd_count %d, active_count %d",
+		 snapshot, snapshot->regd_count, snapshot->active_count);
 	UnregisterSnapshot(snapshot);
 	PrintSnapMgrStatus("concurrent index build, after UnregisterSnapshot");
 	InvalidateCatalogSnapshot();
diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c
index 2a3d915e1f9..dbb3544af7b 100644
--- a/src/backend/utils/time/snapmgr.c
+++ b/src/backend/utils/time/snapmgr.c
@@ -1411,7 +1411,7 @@ PrintSnapMgrStatus(const char *context)
 	for (active = ActiveSnapshot; active != NULL; active = active->as_next)
 		asdepth++;
 
-	elog(LOG, "%s: %d reg snaps, %d active snaps, cat snap %p, xmin %u",
+	elog(LOG, "%s: %d reg snaps, %d active snaps, first snap %p, cat snap %p, xmin %u",
 		 context, RegisteredSnapshots, asdepth,
-		 CatalogSnapshot, MyPgXact->xmin);
+		 FirstXactSnapshot, CatalogSnapshot, MyPgXact->xmin);
 }
-- 
GitLab