At Tue, 20 Oct 2020 04:23:12 +0000, "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com> wrote in
> From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
> > > Furthermore, FDW is not cancellable in general. So, I don't see a point in
> > trying hard to make only commit be cancelable.
> >
> > I think that it is quite important that operators can cancel any
> > process that has been stuck for a long time. Furthermore, postgres_fdw
> > is more likely to be stuck since network is involved so the usefulness
> > of that feature would be higher.
>
> But lower than practical performance during normal operation.
>
> BTW, speaking of network, how can postgres_fdw respond quickly to cancel request when libpq is waiting for a reply
froma down foreign server? Can the user continue to use that session after cancellation?
It seems to respond to a statement-cancel signal immediately while
waiting for a coming byte. However, seems to wait forever while
waiting a space in send-buffer. (Is that mean the session will be
stuck if it sends a large chunk of bytes while the network is down?)
After receiving a signal, it closes the problem connection. So the
local session is usable after that but the fiailed remote sessions are
closed and created another one at the next use.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center