log spam with postgres_fdw
I'm sending this to hackers, because it is not exactly a bug, and it can't
be addressed from userland. I think it is a coding issue, although I
haven't identified the exact code.
When closing the local session which had used postgres_fdw over an ssl
connection, I get log spam on the foreign server saying:
LOG: could not receive data from client: Connection reset by peer
It is easy to reproduce, but you must be using ssl to do so.
On searching, I see that a lot of people have run into this issue, with
considerable confusion, but as far as I can see it has never been diagnosed.
Is there anything that can be done about this, other than just learning to
ignore it?
Cheers,
Jeff
Attachments:
Jeff Janes <jeff.janes@gmail.com> writes:
When closing the local session which had used postgres_fdw over an ssl
connection, I get log spam on the foreign server saying:
LOG: could not receive data from client: Connection reset by peer
It is easy to reproduce, but you must be using ssl to do so.
On searching, I see that a lot of people have run into this issue, with
considerable confusion, but as far as I can see it has never been diagnosed.
In
/messages/by-id/3DPLMQIC.YU6IFMLY.3PLOWL6W@FQT5M7HS.IFBAANAE.A7GUPCPM
we'd concluded that the issue is probably that postgres_fdw has no
logic to shut down its external connections when the session closes.
It's not very clear why the SSL dependency, but we speculated that
adding an on_proc_exit callback to close the connection(s) would help.
I imagine dblink has a similar issue.
regards, tom lane
On Sun, Sep 15, 2019 at 11:14 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Jeff Janes <jeff.janes@gmail.com> writes:
When closing the local session which had used postgres_fdw over an ssl
connection, I get log spam on the foreign server saying:
LOG: could not receive data from client: Connection reset by peer
It is easy to reproduce, but you must be using ssl to do so.
On searching, I see that a lot of people have run into this issue, with
considerable confusion, but as far as I can see it has never beendiagnosed.
In
/messages/by-id/3DPLMQIC.YU6IFMLY.3PLOWL6W@FQT5M7HS.IFBAANAE.A7GUPCPM
Thanks, I had not spotted that one, I guess because the log message itself
was not in the subject so it ranked lower.
we'd concluded that the issue is probably that postgres_fdw has no
logic to shut down its external connections when the session closes.
It's not very clear why the SSL dependency, but we speculated that
adding an on_proc_exit callback to close the connection(s) would help.
It is easy to reproduce the ssl dependency without any FDW, just by doing a
kill -9 on psql. Apparently the backend process for unencrypted connections
are happy to be ghosted, while ssl ones are not; which seems like an odd
distinction to make. So should this be addressed on both sides (the server
not whining, and the client doing the on_proc_exit anyway?). I can take a
stab at the client side one, but I'm over my head on the ssl connection
handling logic on the server side.
Cheers,
Jeff