[pgpool-committers: 7549] pgpool: Fix pcp_node_info failure when backend is down.

Tatsuo Ishii ishii at sraoss.co.jp
Thu Mar 11 17:35:39 JST 2021

Fix pcp_node_info failure when backend is down.

From Pgpool-II 4.3, it calls db_node_role() and in turn it calls
make_persistent_db_connection_noerror(). make_persistent_db_connection_noerror()
called EmitErrorReport(), which sent an ERROR message to pcp frontend
in case of connection error to backend. Unfortunately pcp frontends
stops processing in case of receiving ERROR message from pcp
server. (see process_pcp_response() in src/libs/pcp/pcp.c).

To fix this eliminate calling EmitErrorReport() in
make_persistent_db_connection_noerror(). This also fixes the
inconsistency in the spec expressed in its comment ("does not ereports
in case of an * error") and the implementation.



Modified Files
src/protocol/pool_pg_utils.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

More information about the pgpool-committers mailing list