On Fri, Jul 30, 2021 at 10:00 PM Etsuro Fujita <[email protected]> wrote:
> On Fri, Jul 30, 2021 at 9:45 PM Michael Paquier <[email protected]> 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: fix-postgresForeignAsyncNotify.patch
Description: Binary data

Reply via email to