<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hello,<div><br></div><div><div>Given the following (abbreviated) pgpool-II configuration:</div><div><br></div><div>--------------------</div><div><div>connection_cache &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= off</div><div>load_balance_mode &nbsp; &nbsp; &nbsp; &nbsp; = off</div><div>master_slave_mode &nbsp; &nbsp; &nbsp; &nbsp; = on</div><div>replication_mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= off</div></div><div><br></div><div><div>backend_hostname0 &nbsp; &nbsp; &nbsp; = &lt;master-host&gt;</div><div>backend_flag0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 'ALLOW_TO_FAILOVER'</div><div><br></div><div>backend_hostname1 &nbsp; &nbsp; &nbsp; = &lt;slave-host&gt;</div><div>backend_flag1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 'ALLOW_TO_FAILOVER'</div></div><div><br></div><div><div>health_check_period &nbsp; &nbsp; &nbsp; &nbsp; = 0</div><div>fail_over_on_backend_error &nbsp;= 0</div></div><div>search_primary_node_timeout = 0</div><div>--------------------</div><div><br></div><div>Is it expected behaviour that connections to the MASTER would hang if the SLAVE fails? &nbsp;I understand that "fail_over_on_backend_error=0" would prevent pgpool-II from removing the failed slave node from the configuration, but I would have expected the primary/master would continue to service requests normally?</div><div><br></div><div>My interpretation is that pgpool must be able to communicate to all "healthy" (status=2) nodes in order to establish a new connection - is this correct?</div><div><br></div><div>When the slave/standby is failed, debug logging on the master shows the following:</div><div>--------------------</div><div><div>2015-04-13 14:45:33 DEBUG: pid 28131: I am 28131 accept fd 6</div><div>2015-04-13 14:45:33 LOG: &nbsp; pid 28131: connection received: host=xxxx port=33591</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: Protocol Major: 1234 Minor: 5679 database: &nbsp;user:</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: SSLRequest from client</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: read_startup_packet: application_name: psql</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: Protocol Major: 3 Minor: 0 database: postgres user: xxxx</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: new_connection: connecting 0 backend</div><div>2015-04-13 14:45:33 DEBUG: pid 28131: new_connection: connecting 1 backend</div><div>2015-04-13 14:45:33 ERROR: pid 28131: connect_inet_domain_socket: getsockopt() detected error: Connection refused</div><div>2015-04-13 14:45:33 ERROR: pid 28131: connection to&nbsp;<span style="font-size: 12pt;">&lt;slave-host&gt;</span><span style="font-size: 12pt;">(5432) failed</span></div><div>2015-04-13 14:45:33 ERROR: pid 28131: new_connection: create_cp() failed</div><div>2015-04-13 14:45:33 LOG: &nbsp; pid 28131: new_connection: do not failover because fail_over_on_backend_error is off</div><div>2015-04-13 14:45:33 DEBUG: pid 15335: reap_handler called</div><div>2015-04-13 14:45:33 DEBUG: pid 15335: reap_handler: call wait3</div><div>2015-04-13 14:45:33 DEBUG: pid 15335: child 28131 exits with status 256</div><div>2015-04-13 14:45:33 DEBUG: pid 15335: fork a new child pid 28138</div><div>2015-04-13 14:45:33 DEBUG: pid 15335: reap_handler: normally exited</div><div>2015-04-13 14:45:33 DEBUG: pid 28138: I am 28138</div><div>2015-04-13 14:45:33 DEBUG: pid 28138: pool_initialize_private_backend_status: initialize backend status</div></div><div>--------------------</div><div><br></div><div>Versions in use: pgpool-II (3.3.4), postgresql (9.3.5)</div><div><br></div><div>Many thanks in advance.</div><div><br></div><div>Regards,</div><div>M</div></div>                                               </div></body>
</html>