PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings

Поиск
Список
Период
Сортировка
От Jelte Fennema
Тема PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings
Дата
Msg-id AM5PR83MB017870DE81FC84D5E21E9D1EF7AA9@AM5PR83MB0178.EURPRD83.prod.outlook.com
обсуждение исходный текст
Ответы Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings  (Zhihong Yu <zyu@yugabyte.com>)
Список pgsql-hackers
The new connection made by PQcancel does not use the tcp_user_timeout, connect_timeout or any of the keepalive settings
thatare provided in the connection string. This means that a call to PQcancel can block for a much longer time than
intendedif there are network issues. This can be especially impactful, because PQcancel is a blocking function an there
isno non blocking version of it.  

I attached a proposed patch to use the tcp_user_timeout from the connection string when connecting to Postgres in
PQcancel.This resolves the issue for me, since this will make connecting timeout after a configurable time. So the
otheroptions are not strictly needed. It might still be nice for completeness to support them too though. I didn't do
thisyet, because I first wanted some feedback and also because implementing connect_timeout would require using non
blockingTCP to connect and then use select to have a timeout. 
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: prevent immature WAL streaming
Следующее
От: Zhihong Yu
Дата:
Сообщение: Re: PQcancel does not use tcp_user_timeout, connect_timeout and keepalive settings