<div dir="ltr"><div style="font-size:12.8000001907349px">Hi</div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"><br></span></div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">Currenlty pgpool-II does not discriminate between types and nature of backend failures, especially when performing the backend health check, And it triggers the node failover as soon as the health check fails to connect to backend PostgreSQL server (of course after retries gets expired). This is a big problem in case of transient failures like for example if max_connection is reached on the backend node and health check connection gets denied, it will still be considered as a backend node failure by pgpool-II and it will go on to trigger a failover. Despite the fact that node actually is working fine and pgpool-II child processes are successfully connected to that.</span></div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px"><br></span></div><div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">So I think pgpool-II health check should consider the cause and type of error happened on backend and </span><span style="font-size:12.8000001907349px">depending on the type of error It should either register the failover request, ignore the error or may be just change the</span><span style="font-size:12.8000001907349px"> </span><span style="font-size:12.8000001907349px">backend</span><span style="font-size:12.8000001907349px"> </span><span style="font-size:12.8000001907349px">node status. </span><span style="font-size:12.8000001907349px">We could introduce a new node status to identify these type of situations, (e-g NODE_TEMP_DOWN) and have a new configuration parameter to control the behavior </span><span style="font-size:12.8000001907349px">of</span><span style="font-size:12.8000001907349px"> this state. And instead of straight away initiating the failover on a node, Health check keeps on probing for the node with this new NODE_TEMP_DOWN status and automatically make the node available when health check succeeds on the node. </span></div><div style="font-size:12.8000001907349px"><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">T</span><span style="font-size:12.8000001907349px">houghts, suggestions and design ideas are most welcome</span></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><span style="font-size:12.8000001907349px">Thanks</span></div><div><span style="font-size:12.8000001907349px">Best regards!</span></div><div><span style="font-size:12.8000001907349px">Muhammad Usama</span></div><div><span style="font-size:12.8000001907349px"><br></span></div></div><div><br></div></div>