Etsuro Fujita <etsuro.fujita@gmail.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