Re: TCP Resets when closing connection opened via SSL - Mailing list pgsql-general

From Tom Lane
Subject Re: TCP Resets when closing connection opened via SSL
Date
Msg-id 31611.1556288224@sss.pgh.pa.us
Whole thread Raw
In response to TCP Resets when closing connection opened via SSL  (Jānis Pūris <janis@puris.lv>)
Responses Re: TCP Resets when closing connection opened via SSL  (Jānis Pūris <janis@puris.lv>)
List pgsql-general
=?utf-8?Q?J=C4=81nis_P=C5=ABris?= <janis@puris.lv> writes:
> I'm trying to do a simple health check for keepalived and other services via a python script and psycopg2 library.
Allseems to be all right, until I close the connection, at which point a packet with TCP reset is produced. 

Hm.  It's fairly obvious from the postmaster log that the client side
is not bothering to close the transaction it started:

> 2019-04-23 16:27:45.306 CEST process=15615 c=BEGIN t=0 s=5cbf20e1.3cff monitoring@127.0.0.1:postgres app=[unknown]
LOG: duration: 0.095 ms 
> 2019-04-23 16:27:45.306 CEST process=15615 c=SELECT t=0 s=5cbf20e1.3cff monitoring@127.0.0.1:postgres app=[unknown]
LOG: duration: 0.234 ms 
> 2019-04-23 16:27:45.306 CEST process=15615 c=idle in transaction t=0 s=5cbf20e1.3cff monitoring@127.0.0.1:postgres
app=[unknown]LOG:  disconnection: session time: 0:00:00.006 user=monitoring database=postgres host=127.0.0.1 port=40797 

There's no COMMIT or ROLLBACK to go with the BEGIN, and that's reflected
in the fact that the disconnection message shows c=idle in transaction.
Now, I doubt that would have any impact on the TCP-level session behavior,
but it suggests that maybe the client isn't bothering to close the session
cleanly either.  The RST rather than FIN would then likely be caused by
SSL having to do an unclean shutdown.

            regards, tom lane



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Is _ a supported way to create a column of array type?
Next
From: Jānis Pūris
Date:
Subject: Re: TCP Resets when closing connection opened via SSL