<p dir="ltr">Me either have the same problem with 3.4.<br>
whenever I restart the postgresql servicr,  the node immediately has &#39;3&#39; in it&#39;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 &lt;<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>&gt; 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>
&gt; Hello Pgpool support,<br>
&gt; I am using Pgpool 3.3.1 in our production database, with master-slave feature + health check.<br>
&gt; Today and not for the first time, we encountered a situation in which Pgpool &quot;decided&quot; 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>
&gt; Here is the Pgpool log from the failure time:<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: C message<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: B message<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 1 backend pid: 26169 statement: B message<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Execute: ROLLBACK<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 1 backend pid: 26169 statement: Execute: ROLLBACK<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Parse: SELECT 1<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: B message<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: D message<br>
&gt; Mar  4 16:35:06 pgpool pgpool[22795]: DB node id: 0 backend pid: 44867 statement: Execute: SELECT 1<br>
&gt; 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>
&gt; 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>
&gt; Mar  4 16:35:09 pgpool pgpool[2306]: new_connection: create_cp() failed<br>
&gt; Mar  4 16:35:09 pgpool pgpool[2306]: degenerate_backend_set: 0 fail over request from pid 2306<br>
&gt; 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>
&gt; Mar  4 16:35:09 pgpool pgpool[32118]: Restart all children<br>
&gt; Mar  4 16:35:09 pgpool pgpool[32118]: execute command: /etc/pgpool-II/failover.sh 0 &quot;<a href="http://pnmpg3.sj.peer39.com" target="_blank">pnmpg3.sj.peer39.com</a>&quot; 5432 /var/lib/pgsql/9.2/data 1 0 &quot;<a href="http://pnmpg4.sj.peer39.com" target="_blank">pnmpg4.sj.peer39.com</a>&quot; 0<br>
&gt; Mar  4 16:35:19 pgpool pgpool[32118]: find_primary_node_repeatedly: waiting for finding a primary node<br>
&gt; Mar  4 16:35:35 pgpool pgpool[32118]: failover: set new primary node: -1<br>
&gt; Mar  4 16:35:35 pgpool pgpool[32118]: failover: set new master node: 1<br>
&gt; Mar  4 16:35:35 pgpool pgpool[32233]: worker process received restart request<br>
&gt; 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>
&gt;<br>
&gt; Is this a normal behavior or is it a bug?? If it is normal, Is there a way to modify it?<br>
&gt;<br>
&gt; Pgpool enabled features:<br>
&gt;<br>
&gt; [ mode ] Master Slave mode<br>
&gt;<br>
&gt; [ healthcheck ] every 40 seconds / retry upto 3 counts<br>
&gt;<br>
&gt; Partial pgpool.conf:<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # POOLS<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # - Pool size -<br>
&gt; num_init_children = 50<br>
&gt; max_pool = 1<br>
&gt; # - Life time -<br>
&gt; child_life_time = 50<br>
&gt; child_max_connections = 0<br>
&gt; connection_life_time = 1800<br>
&gt; client_idle_limit = 0<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # MASTER/SLAVE MODE<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; master_slave_mode = on<br>
&gt; master_slave_sub_mode = &#39;stream&#39;<br>
&gt; # - Streaming -<br>
&gt; sr_check_period = 30<br>
&gt; sr_check_user = &#39;username&#39;<br>
&gt; sr_check_password = &#39;password&#39;<br>
&gt; delay_threshold = 0<br>
&gt; # - Special commands -<br>
&gt; follow_master_command = &#39;&#39;<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # HEALTH CHECK<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; health_check_period = 40<br>
&gt; health_check_timeout = 10<br>
&gt; health_check_user = &#39;username&#39;<br>
&gt; health_check_password = &#39;password&#39;<br>
&gt; health_check_max_retries = 3<br>
&gt; health_check_retry_delay = 20<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # FAILOVER AND FAILBACK<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; failover_command = &#39;/etc/pgpool-II/failover.sh %d &quot;%h&quot; %p %D %m %M &quot;%H&quot; %P&#39;<br>
&gt; failback_command = &#39;&#39;<br>
&gt; fail_over_on_backend_error = on<br>
&gt; search_primary_node_timeout = 10<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; # ONLINE RECOVERY<br>
&gt; #-----------------------------<u></u>------------------------------<u></u>-------------------<br>
&gt; recovery_user = &#39;&#39;<br>
&gt; recovery_password = &#39;&#39;<br>
&gt; recovery_1st_stage_command = &#39;basebackup.sh&#39;<br>
&gt; recovery_2nd_stage_command = &#39;&#39;<br>
&gt; recovery_timeout = 90<br>
&gt; client_idle_limit_in_recovery = 0<br>
&gt;<br>
&gt; Thanks<br>
&gt;<br>
&gt; Boaz Goldstein<br>
&gt; DBA, Deployment DBA Team<br>
&gt; <a href="mailto:boaz.goldstein@sizmek.com" target="_blank">boaz.goldstein@sizmek.com</a>&lt;<u></u>mailto:<a href="mailto:boaz.goldstein@sizmek.com" target="_blank">boaz.goldstein@sizmek.<u></u>com</a>&gt;<br>
&gt; M +972.524.695731<br>
&gt; T +972.9.778.2910<br>
&gt; Israel<br>
&gt;<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>