Обсуждение: 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
Вложения
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 https://www.postgresql.org/message-id/flat/3DPLMQIC.YU6IFMLY.3PLOWL6W%40FQT5M7HS.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 been diagnosed.
In
https://www.postgresql.org/message-id/flat/3DPLMQIC.YU6IFMLY.3PLOWL6W%40FQT5M7HS.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