Re: pgsql: postgres_fdw: Fix handling of pending asynchronous requests.

From: Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Etsuro Fujita <efujita(at)postgresql(dot)org>, pgsql-committers <pgsql-committers(at)lists(dot)postgresql(dot)org>
Subject: Re: pgsql: postgres_fdw: Fix handling of pending asynchronous requests.
Date: 2021-07-31 14:16:14
Message-ID: CAPmGK15Lrw4sJ6sZU+NoAW2_D1rGkZ1vLuR3afyUdbrtBPdy+g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Fri, Jul 30, 2021 at 10:00 PM Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> wrote:
> On Fri, Jul 30, 2021 at 9:45 PM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> > On Fri, Jul 30, 2021 at 08:08:07AM +0000, Etsuro Fujita wrote:
> > > postgres_fdw: Fix handling of pending asynchronous requests.
> >
> > You have angered many members of the buildfarm here, like:

> I’ll look into this.

Buildfarm members are causing this assertion failure:

TRAP: FailedAssertion("fsstate->conn_state->pendingAreq == areq",
File: "/home/pgbf/buildroot/HEAD/pgsql.build/../pgsql/contrib/postgres_fdw/postgres_fdw.c",
Line: 6900, PID: 744110)

I couldn’t reproduce this in my environment, but I noticed this, which
didn’t happen in my environment: the case of delivering notifications
to both of the parent async-capable nodes in ExecAppendAsyncEventWait
when processing the added test case query. In that case, doing
postgresForeignAsyncNotify for the first parent async-capable node
would invoke process_pending_request on the second one when executing
its initplan, which would lead to the assertion failure when doing
postgresForeignAsyncNotify for the second one. :-( I think
postgresForeignAsyncNotify would need the same treatment as for
postgresForeignAsyncConfigureWait, like the attached.

Best regards,
Etsuro Fujita

Attachment Content-Type Size
fix-postgresForeignAsyncNotify.patch application/octet-stream 2.6 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-07-31 15:50:38 pgsql: Use elog, not Assert, to report failure to provide an outer snap
Previous Message John Naylor 2021-07-31 11:27:52 pgsql: Remove redundant setting of pg_attribute.attcompression