Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings - Mailing list pgsql-hackers

From Jelte Fennema
Subject Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings
Date
Msg-id AM5PR83MB01781C8E94AEC8073B646872F7B09@AM5PR83MB0178.EURPRD83.prod.outlook.com
Whole thread Raw
In response to Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings  (Zhihong Yu <zyu@yugabyte.com>)
Responses Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings  (Jelte Fennema <Jelte.Fennema@microsoft.com>)
List pgsql-hackers
We actually ran into an issue caused by this in production, where a PQcancel connection was open on the client for a 2+
daysbecause the server had restarted at the wrong moment in the cancel handshake. The client was now indefinitely
waitingfor the server to send an EOF back, and because keepalives were not enabled on this socket it was never closed. 

I attached an updated patch which also uses the keepalive settings in PQ. The connect_timeout is a bit harder to get it
towork. As far as I can tell it would require something like this. https://stackoverflow.com/a/2597774/2570866 

> The other field names are quite short. How about naming the field tcp_timeout ?

I kept the same names as in the pg_conn struct for consistency sake.



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: BUG #17212: pg_amcheck fails on checking temporary relations
Next
From: Jelte Fennema
Date:
Subject: Re: [EXTERNAL] Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings