<p dir="ltr">Me either have the same problem with 3.4.<br>
whenever I restart the postgresql servicr,  the node immediately has '3' in it's status and pgpool runs the failover script,  ignoring all the health check settings. What I have seen lately,  those settings are relevant only when pgpool start and a backend is already in down state -  in this situation,  pgpool indeed checks periodically the node. <br>
</p>
<br><div class="gmail_quote">On Fri, 6 Mar 2015 04:16 Tatsuo Ishii <<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">pgpool-II 3.3.1 is pretty old. Please update to the latest version<br>
(3.3.5 at this moment).  If you still have the problem, please let us<br>
know.<br>
<br>
Best regards,<br>
--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_<u></u>en.php</a><br>
Japanese:<a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.<u></u>jp</a><br>
<br>
> Hello Pgpool support,<br>
> I am using Pgpool 3.3.1 in our production database, with master-slave feature + health check.<br>
> Today and not for the first time, we encountered a situation in which Pgpool "decided" to do a failover after it has lost connectivity to the master node, without the retry logic that should be when using health-check mode.<br>
> Here is the Pgpool log from the failure time:<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: C message<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: B message<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 1 backend pid: 26169 statement: B message<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Execute: ROLLBACK<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 1 backend pid: 26169 statement: Execute: ROLLBACK<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Parse: SELECT 1<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: B message<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: D message<br>
> Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Execute: SELECT 1<br>
> Mar  4 16:35:09 pgpool pgpool[2306]: connect_inet_domain_socket: gethostbyname() failed: Unknown host host: <a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a><br>
> Mar  4 16:35:09 pgpool pgpool[2306]: connection to <a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a>(5432) failed<br>
> Mar  4 16:35:09 pgpool pgpool[2306]: new_connection: create_cp() failed<br>
> Mar  4 16:35:09 pgpool pgpool[2306]: degenerate_backend_set: 0 fail over request from pid 2306<br>
> Mar  4 16:35:09 pgpool pgpool[32118]: starting degeneration. shutdown host <a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a>(5432)<br>
> Mar  4 16:35:09 pgpool pgpool[32118]: Restart all children<br>
> Mar  4 16:35:09 pgpool pgpool[32118]: execute command: /etc/pgpool-II/failover.sh 0 "<a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a>" 5432 /var/lib/pgsql/9.2/data 1 0 "<a href="http://pnmpg4.sj.peer39.com" target="_blank">pnmpg4.sj.peer39.com</a>" 0<br>
> Mar  4 16:35:19 pgpool pgpool[32118]: find_primary_node_repeatedly: waiting for finding a primary node<br>
> Mar  4 16:35:35 pgpool pgpool[32118]: failover: set new primary node: -1<br>
> Mar  4 16:35:35 pgpool pgpool[32118]: failover: set new master node: 1<br>
> Mar  4 16:35:35 pgpool pgpool[32233]: worker process received restart request<br>
> Mar  4 16:35:35 pgpool pgpool[32118]: failover done. shutdown host <a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a>(5432)<br>
><br>
> Is this a normal behavior or is it a bug?? If it is normal, Is there a way to modify it?<br>
><br>
> Pgpool enabled features:<br>
><br>
> [ mode ] Master Slave mode<br>
><br>
> [ healthcheck ] every 40 seconds / retry upto 3 counts<br>
><br>
> Partial pgpool.conf:<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # POOLS<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # - Pool size -<br>
> num_init_children = 50<br>
> max_pool = 1<br>
> # - Life time -<br>
> child_life_time = 50<br>
> child_max_connections = 0<br>
> connection_life_time = 1800<br>
> client_idle_limit = 0<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # MASTER/SLAVE MODE<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> master_slave_mode = on<br>
> master_slave_sub_mode = 'stream'<br>
> # - Streaming -<br>
> sr_check_period = 30<br>
> sr_check_user = 'username'<br>
> sr_check_password = 'password'<br>
> delay_threshold = 0<br>
> # - Special commands -<br>
> follow_master_command = ''<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # HEALTH CHECK<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> health_check_period = 40<br>
> health_check_timeout = 10<br>
> health_check_user = 'username'<br>
> health_check_password = 'password'<br>
> health_check_max_retries = 3<br>
> health_check_retry_delay = 20<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # FAILOVER AND FAILBACK<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> failover_command = '/etc/pgpool-II/failover.sh %d "%h" %p %D %m %M "%H" %P'<br>
> failback_command = ''<br>
> fail_over_on_backend_error = on<br>
> search_primary_node_timeout = 10<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> # ONLINE RECOVERY<br>
> #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
> recovery_user = ''<br>
> recovery_password = ''<br>
> recovery_1st_stage_command = 'basebackup.sh'<br>
> recovery_2nd_stage_command = ''<br>
> recovery_timeout = 90<br>
> client_idle_limit_in_recovery = 0<br>
><br>
> Thanks<br>
><br>
> Boaz Goldstein<br>
> DBA, Deployment DBA Team<br>
> <a href="mailto:boaz.goldstein@sizmek.com" target="_blank">boaz.goldstein@sizmek.com</a><<u></u>mailto:<a href="mailto:boaz.goldstein@sizmek.com" target="_blank">boaz.goldstein@sizmek.<u></u>com</a>><br>
> M +972.524.695731<br>
> T +972.9.778.2910<br>
> Israel<br>
><br>
______________________________<u></u>_________________<br>
pgpool-general mailing list<br>
<a href="mailto:pgpool-general@pgpool.net" target="_blank">pgpool-general@pgpool.net</a><br>
<a href="http://www.pgpool.net/mailman/listinfo/pgpool-general" target="_blank">http://www.pgpool.net/mailman/<u></u>listinfo/pgpool-general</a><br>
</blockquote></div>