Re: hash_xlog_split_allocate_page: failed to acquire cleanup lock

From: Andres Freund <andres(at)anarazel(dot)de>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Subject: Re: hash_xlog_split_allocate_page: failed to acquire cleanup lock
Date: 2022-09-30 19:05:12
Message-ID: 20220930190512.5aiar5cdr5suoiee@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2022-09-30 19:23:50 Re: predefined role(s) for VACUUM and ANALYZE
Previous Message Peter Geoghegan 2022-09-30 19:04:38 Re: disfavoring unparameterized nested loops