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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, 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 16:41:16
Message-ID: 1255271.1627749676@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> writes:
> 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.

I tried this patch on a spare machine that seems prone to showing
the failure: on HEAD, postgres_fdw's installcheck failed 3 times
in 4 attempts. With the patch, it's gotten through 23 consecutive
tries without a failure. So this is at least way better ...

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-07-31 19:36:00 pgsql: Doc: alphabetize the regexp_foo() function descriptions in 9.7.3
Previous Message Tom Lane 2021-07-31 15:50:38 pgsql: Use elog, not Assert, to report failure to provide an outer snap