Re: A failure in 031_recovery_conflict.pl on Debian/s390x
От | Thomas Munro |
---|---|
Тема | Re: A failure in 031_recovery_conflict.pl on Debian/s390x |
Дата | |
Msg-id | CA+hUKGJ99MKTS3DkX8XO4TNebGXDTXCMk883jy8R=EHj_9pw0w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: A failure in 031_recovery_conflict.pl on Debian/s390x (Christoph Berg <myon@debian.org>) |
Ответы |
Re: A failure in 031_recovery_conflict.pl on Debian/s390x
|
Список | pgsql-hackers |
On Wed, Aug 9, 2023 at 2:01 AM Christoph Berg <myon@debian.org> wrote: > Putting that patch on top of v8 made it pass 294 times before exiting > like this: > > [08:52:34.134](0.032s) ok 1 - buffer pin conflict: cursor with conflicting pin established > Waiting for replication conn standby's replay_lsn to pass 0/3430000 on primary > done > timed out waiting for match: (?^:User was holding shared buffer pin for too long) at t/031_recovery_conflict.pl line 318. Can you reproduce that with logging like this added on top? diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index 5b663a2997..72f5274c95 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -629,6 +629,7 @@ SetStartupBufferPinWaitBufId(int bufid) /* use volatile pointer to prevent code rearrangement */ volatile PROC_HDR *procglobal = ProcGlobal; + elog(LOG, "XXX SetStartupBufferPinWaitBufId(%d)", bufid); procglobal->startupBufferPinWaitBufId = bufid; } @@ -640,8 +641,11 @@ GetStartupBufferPinWaitBufId(void) { /* use volatile pointer to prevent code rearrangement */ volatile PROC_HDR *procglobal = ProcGlobal; + int bufid; - return procglobal->startupBufferPinWaitBufId; + bufid = procglobal->startupBufferPinWaitBufId; + elog(LOG, "XXX GetStartupBufferPinWaitBufId() -> %d", bufid); + return bufid; }
В списке pgsql-hackers по дате отправления: