Re: hash_xlog_split_allocate_page: failed to acquire cleanup lock
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Mark Dilger <mark.dilger@enterprisedb.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Thomas Munro <thomas.munro@gmail.com>
Date: 2022-09-30T19:05:12Z
Lists: pgsql-hackers
Hi, This issue does occasionally happen in CI, as e.g. noted in this thread: https://www.postgresql.org/message-id/20220930185345.GD6256%40telsasoft.com On 2022-08-18 15:17:47 +0530, Amit Kapila wrote: > I agree with you that getting rid of the clean-up lock on the new > bucket is a more invasive patch and should be done separately if > required. Yesterday, I have done a brief analysis and I think that is > possible but it doesn't seem to be a good idea to backpatch it. My problem with this approach is that the whole cleanup lock is hugely misleading as-is. As I noted in https://www.postgresql.org/message-id/20220817193032.z35vdjhpzkgldrd3%40awork3.anarazel.de we take the cleanup lock *after* re-initializing the page. Thereby completely breaking the properties that a cleanup lock normally tries to guarantee. Even if that were to achieve something useful (doubtful in this case), it'd need a huge comment explaining what's going on. Greetings, Andres Freund
Commits
-
Fix cleanup lock acquisition in SPLIT_ALLOCATE_PAGE replay.
- e848be60b5cf 16.0 landed
- e49e191815b6 15.2 landed
- 9693f190076e 14.7 landed
- 20c223336301 13.10 landed
- 4dccccb37e0b 12.14 landed
- 1703033f896a 11.19 landed