Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY

From: Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com>
To: Alexander Lakhin <exclusion(at)gmail(dot)com>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>, Noah Misch <noah(at)leadboat(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY
Date: 2025-12-06 11:22:37
Message-ID: CADzfLwUyKoTES1D7TBWqkYJF+82Gcvy+tcsDpW0OLSiCbadwkQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello, Alexander!

On Sat, Dec 6, 2025 at 7:00 AM Alexander Lakhin <exclusion(at)gmail(dot)com> wrote:
> I've discovered that despite removing FIXME (in 90eae926a), the error
> "invalid arbiter index list" can still be triggered with:

Wow, thanks for finding this.

> The first commit it produced on with this script is bc32a12e0.

Such commands add an indisready, but not indisvalid index on pt, which
is added to to the list of potential arbiters.
It happens because of [0].

From my perspective, the correct solution - is to just remove the
error message, because it looks obsolete now. Or somehow calculate
compensation offset differently - but I am not sure it is a good idea.

Let's wait for Álvaro decision - I'll prepare the fix and regress test then.

Best regards,
Mikhail.

[0]: https://github.com/postgres/postgres/blob/bc32a12e0db2df203a9cb2315461578e08568b9c/src/backend/commands/indexcmds.c#L1225-L1235

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim Jones 2025-12-06 11:29:48 Re: proposal: schema variables
Previous Message Álvaro Herrera 2025-12-06 10:58:36 Re: Adding REPACK [concurrently]