Re: Add “FOR UPDATE NOWAIT” lock details to the log.
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Yuki Seino <seinoyu@oss.nttdata.com>,
Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-02-28T12:51:10Z
Lists: pgsql-hackers
On 2025/02/28 21:08, Yuki Seino wrote: > > On 2025/02/27 15:44, Yuki Seino wrote: >> (4) https://github.com/postgres/postgres/blob/master/src/backend/access/heap/heapam_handler.c#L463 >> ...I don't know how to reproduce it. > I have confirmed that (4) can be reproduced using the following procedure. > > (4) https://github.com/postgres/postgres/blob/master/src/backend/access/heap/heapam_handler.c#L463 > tx1=# SELECT pg_advisory_lock(0); > tx2=# SELECT * FROM pgbench_accounts WHERE pg_advisory_lock(0) IS NOT NULL FOR UPDATE NOWAIT; > tx1=# UPDATE pgbench_accounts SET aid = aid WHERE aid = '1'; > tx1=# BEGIN; > tx1=# UPDATE pgbench_accounts SET aid = aid WHERE aid = '1'; > tx1=# SELECT pg_advisory_unlock(0); > > Send the modified patch. Thanks for updating the patch! I encountered a compilation error with the patch. You can also see the error in the patch tester. https://cirrus-ci.com/task/5070779370438656 Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION
Commits
-
Rename log_lock_failure GUC to log_lock_failures for consistency.
- 73bdcfab35ec 18.0 landed
-
Add GUC option to log lock acquisition failures.
- 6d376c3b0d1e 18.0 landed
-
Split ProcSleep function into JoinWaitQueue and ProcSleep
- 3c0fd64fec8e 18.0 cited