| From: | AYahorau(at)ibagroup(dot)eu |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Cc: | MikalaiKeida(at)ibagroup(dot)eu |
| Subject: | Adding TCP_USER_TIMEOUT support for libpq/psqlodbc |
| Date: | 2018-07-20 08:43:31 |
| Message-ID: | OF4C8A68CE.A350F319-ON432582D0.0028A5FF-432582D0.002FEE28@iba.by |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello PostgreSQL Community!
Not long ago I faced the situation concerning ODBC/libpq client hanging in
case of some network problems.
I had a discussion regarding this issue within pgsql-odbc(at)postgresql(dot)org
and got some suggestions.
Here is this discussion:
https://www.postgresql.org/message-id/OF33DF00A3.D6444835-ON432582C3.003EA7C5-432582C3.0045562B%40iba.by
In a few words the suggestion was to use pqopt keepalive options for ODBC
configuration for example as follows:
pqopt = keepalives=1 keepalives_idle=5 keepalives_count=1
keepalives_interval=1
But under some circumstances it can be not reliable and the connection can
loose its keepalives properties and it can remain hanging.
Here is a quote from our discussion:
Hmm it seems keepalive stops while waiting for ack.
Therefore it's a matter of retransmission control
You can use TCP_USER_TIMEOUT on linux but the option is not used in libpq.
In my opinion it make sense to add the support of TCP_USER_TIMEOUT socket
option to libpq/psqlodbc connection.
The attachment contains a patch with the source code changes regarding
this issue.
In my implementation it can be configured by new keepalives_user_timeout
option within pqopt parameter.
Best regards,
Andrei Yahorau
| Attachment | Content-Type | Size |
|---|---|---|
| 0001_TCP_USER_TIMEOUT_libpq-int.patch | application/octet-stream | 747 bytes |
| 0001_TCP_USER_TIMEOUT_fe-connect.patch | application/octet-stream | 1.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2018-07-20 08:53:32 | Re: [HACKERS] possible self-deadlock window after bad ProcessStartupPacket |
| Previous Message | Heikki Linnakangas | 2018-07-20 08:24:23 | Re: [HACKERS] possible self-deadlock window after bad ProcessStartupPacket |