Re: [Proposal] Add foreign-server health checks infrastructure
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: kuroda.hayato@fujitsu.com
Cc: katsuragiy@oss.nttdata.com, yuzhihong@gmail.com, tgl@sss.pgh.pa.us,
vignesh21@gmail.com, pgsql-hackers@lists.postgresql.org,
onderkalaci@gmail.com, masao.fujii@oss.nttdata.com,
Shinya11.Kato@oss.nttdata.com
Date: 2023-02-09T02:31:49Z
Lists: pgsql-hackers
At Fri, 27 Jan 2023 06:57:01 +0000, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com> wrote in > I found cfbot failure, PSA fixed version. + Unlike <xref linkend="libpq-PQstatus"/>, this function checks socket + health. This check is performed by polling the socket. This function is + currently available only on systems that support the non-standard + <symbol>POLLRDHUP</symbol> extension to the <symbol>poll</symbol> system I find it quite confusing that we have pqSocketCheck and PQconnCheck, that does almost the same thing.. Since pqSocketCheck is a static function, we can modify the function as we like. I still don't understand why we need pqconnCheck_internal separate from pqSocketPoll(), and PQconnCheck from pqSocketCheck. https://www.postgresql.org/message-id/flat/TYAPR01MB58665BF23D38EDF10028DE2AF5299%40TYAPR01MB5866.jpnprd01.prod.outlook.com#47d21431bf9fa94f763c824f6e81fa54 > IIUC, pqSocketCheck () calls pqSocketPoll(), > and in the pqSocketPoll() we poll()'d the POLLIN or POLLOUT event. > But according to [1], we must wait POLLRDHUP event, > so we cannot reuse it straightforward. Yeah, I didn't suggest to use the function as-is. Couldn't we extend the fucntion by letting it accept end_time = 0 && !forRead && !forWrite, not causing side effects? regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
postgres_fdw: Extend postgres_fdw_get_connections to return user name.
- 4f08ab554577 18.0 landed
-
postgres_fdw: Fix bug in connection status check.
- 454aab4b738e 18.0 landed
-
postgres_fdw: Add connection status check to postgres_fdw_get_connections().
- 857df3cef7be 18.0 landed
-
postgres_fdw: Add "used_in_xact" column to postgres_fdw_get_connections().
- c297a47c5f8d 18.0 landed
-
doc: Enhance documentation for postgres_fdw_get_connections() output columns.
- 284c030a10b8 18.0 landed
-
Avoid reference to nonexistent array element in ExecInitAgg().
- 92957ed98c5c 16.0 cited
-
Add WL_SOCKET_CLOSED for socket shutdown events.
- 50e570a59e7f 15.0 cited
-
postgres_fdw: reestablish new connection if cached one is detected as broken.
- 32a9c0bdf493 14.0 cited