<div dir="ltr">Yep, &quot;service pgpool2 force-reload&quot; has corrected this, but I am not happy at all.<div><br></div><div>I thought that the pool status is consistent among the members. If pgpool does the replication, it is a disaster to have different backend sets in the pool members!</div>

<div>No way to keep databases consistent... One pool will write just one backend, the other will write both.</div><div><br></div><div>Attila</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-19 12:08 GMT+02:00 Yugo Nagata <span dir="ltr">&lt;<a href="mailto:nagata@sraoss.co.jp" target="_blank">nagata@sraoss.co.jp</a>&gt;</span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div class=""><br>
On Thu, 19 Jun 2014 11:05:32 +0200<br>
Attila Heidrich &lt;<a href="mailto:attila.heidrich@gmail.com">attila.heidrich@gmail.com</a>&gt; wrote:<br>
<br>
&gt; Dear Guys,<br>
&gt;<br>
&gt; How on earth it is possible, that the pool members reports different<br>
&gt; backend status? It will cause problems very soon I guess.<br>
<br>
</div>It is possible if pgpool reads old backend status info when this starts up.<br>
pgpool will discard the old backend info when starts with -D option.<br>
<br>
However, it would be better pgpools can detect the status mismatch<br>
between them in some way.<br>
<div><div class="h5"><br>
&gt;<br>
&gt;     Node: 1<br>
&gt;     Host: <a href="tel:10.100.1.11" value="+3610100111">10.100.1.11</a><br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt;     Node: 2<br>
&gt;     Host: 10.100.1.10<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt;     Node: 1<br>
&gt;     Host: 10.100.1.11<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, detached from pool (3)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt;     Node: 2<br>
&gt;     Host: 10.100.1.10<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt;     Node: 1<br>
&gt;     Host: 10.100.1.11<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt;     Node: 2<br>
&gt;     Host: 10.100.1.10<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Active (3)<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt;     Node: 1<br>
&gt;     Host: 10.100.1.11<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt;     Node: 2<br>
&gt;     Host: 10.100.1.10<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt;     Node: 1<br>
&gt;     Host: 10.100.1.11<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, detached from pool (3)<br>
&gt;     WD status: Standby (2)<br>
&gt;<br>
&gt;     Node: 2<br>
&gt;     Host: 10.100.1.10<br>
&gt;     Port: 5433<br>
&gt;     Weight: 0.500000<br>
&gt;     Status: Up, in pool (1)<br>
&gt;     WD status: Active (3)<br>
&gt;<br>
&gt; I have got five pool members, two of them are the backends themselves.<br>
&gt;<br>
&gt; Every pool member has the other 4 as other_pgpool, and<br>
&gt; heartbeat_destination, and the same two backend servers, here is the<br>
&gt; relevant part of the config for all pool members:<br>
&gt;<br>
&gt;<br>
&gt; nor-openfire-1:<br>
&gt;     backend_hostname1 = &#39;10.100.1.11&#39;<br>
&gt;     backend_port1 = 5433<br>
&gt;     backend_weight1 = 1<br>
&gt;     backend_data_directory1 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag1 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     backend_hostname2 = &#39;10.100.1.10&#39;<br>
&gt;     backend_port2 = 5433<br>
&gt;     backend_weight2 = 1<br>
&gt;     backend_data_directory2 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag2 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     fail_over_on_backend_error = on<br>
&gt;     heartbeat_destination0 = &#39;nor-postgres-2&#39;<br>
&gt;     heartbeat_destination_port0 = 9694<br>
&gt;     other_pgpool_hostname0 = &#39;nor-postgres-2&#39;<br>
&gt;     other_pgpool_port0 = 5432<br>
&gt;     heartbeat_destination1 = &#39;nor-jboss-2&#39;<br>
&gt;     heartbeat_destination_port1 = 9694<br>
&gt;     other_pgpool_hostname1 = &#39;nor-jboss-2&#39;<br>
&gt;     other_pgpool_port1 = 5432<br>
&gt;     heartbeat_destination2 = &#39;nor-postgres-1&#39;<br>
&gt;     heartbeat_destination_port2 = 9694<br>
&gt;     other_pgpool_hostname2 = &#39;nor-postgres-1&#39;<br>
&gt;     other_pgpool_port2 = 5432<br>
&gt;     heartbeat_destination3 = &#39;nor-jboss-1&#39;<br>
&gt;     heartbeat_destination_port3 = 9694<br>
&gt;     other_pgpool_hostname3 = &#39;nor-jboss-1&#39;<br>
&gt;     other_pgpool_port3 = 5432<br>
&gt; nor-postgres-1:<br>
&gt;     backend_hostname1 = &#39;10.100.1.11&#39;<br>
&gt;     backend_port1 = 5433<br>
&gt;     backend_weight1 = 1<br>
&gt;     backend_data_directory1 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag1 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     backend_hostname2 = &#39;10.100.1.10&#39;<br>
&gt;     backend_port2 = 5433<br>
&gt;     backend_weight2 = 1<br>
&gt;     backend_data_directory2 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag2 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     fail_over_on_backend_error = on<br>
&gt;     heartbeat_destination0 = &#39;nor-postgres-2&#39;<br>
&gt;     heartbeat_destination_port0 = 9694<br>
&gt;     other_pgpool_hostname0 = &#39;nor-postgres-2&#39;<br>
&gt;     other_pgpool_port0 = 5432<br>
&gt;     heartbeat_destination1 = &#39;nor-jboss-2&#39;<br>
&gt;     heartbeat_destination_port1 = 9694<br>
&gt;     other_pgpool_hostname1 = &#39;nor-jboss-2&#39;<br>
&gt;     other_pgpool_port1 = 5432<br>
&gt;     heartbeat_destination2 = &#39;nor-openfire-1&#39;<br>
&gt;     heartbeat_destination_port2 = 9694<br>
&gt;     other_pgpool_hostname2 = &#39;nor-openfire-1&#39;<br>
&gt;     other_pgpool_port2 = 5432<br>
&gt;     heartbeat_destination3 = &#39;nor-jboss-1&#39;<br>
&gt;     heartbeat_destination_port3 = 9694<br>
&gt;     other_pgpool_hostname3 = &#39;nor-jboss-1&#39;<br>
&gt;     other_pgpool_port3 = 5432<br>
&gt; nor-postgres-2:<br>
&gt;     backend_hostname1 = &#39;10.100.1.11&#39;<br>
&gt;     backend_port1 = 5433<br>
&gt;     backend_weight1 = 1<br>
&gt;     backend_data_directory1 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag1 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     backend_hostname2 = &#39;10.100.1.10&#39;<br>
&gt;     backend_port2 = 5433<br>
&gt;     backend_weight2 = 1<br>
&gt;     backend_data_directory2 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag2 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     fail_over_on_backend_error = on<br>
&gt;     heartbeat_destination0 = &#39;nor-jboss-2&#39;<br>
&gt;     heartbeat_destination_port0 = 9694<br>
&gt;     other_pgpool_hostname0 = &#39;nor-jboss-2&#39;<br>
&gt;     other_pgpool_port0 = 5432<br>
&gt;     heartbeat_destination1 = &#39;nor-openfire-1&#39;<br>
&gt;     heartbeat_destination_port1 = 9694<br>
&gt;     other_pgpool_hostname1 = &#39;nor-openfire-1&#39;<br>
&gt;     other_pgpool_port1 = 5432<br>
&gt;     heartbeat_destination2 = &#39;nor-postgres-1&#39;<br>
&gt;     heartbeat_destination_port2 = 9694<br>
&gt;     other_pgpool_hostname2 = &#39;nor-postgres-1&#39;<br>
&gt;     other_pgpool_port2 = 5432<br>
&gt;     heartbeat_destination3 = &#39;nor-jboss-1&#39;<br>
&gt;     heartbeat_destination_port3 = 9694<br>
&gt;     other_pgpool_hostname3 = &#39;nor-jboss-1&#39;<br>
&gt;     other_pgpool_port3 = 5432<br>
&gt; nor-jboss-1:<br>
&gt;     backend_hostname1 = &#39;10.100.1.11&#39;<br>
&gt;     backend_port1 = 5433<br>
&gt;     backend_weight1 = 1<br>
&gt;     backend_data_directory1 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag1 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     backend_hostname2 = &#39;10.100.1.10&#39;<br>
&gt;     backend_port2 = 5433<br>
&gt;     backend_weight2 = 1<br>
&gt;     backend_data_directory2 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag2 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     fail_over_on_backend_error = on<br>
&gt;     heartbeat_destination0 = &#39;nor-postgres-2&#39;<br>
&gt;     heartbeat_destination_port0 = 9694<br>
&gt;     other_pgpool_hostname0 = &#39;nor-postgres-2&#39;<br>
&gt;     other_pgpool_port0 = 5432<br>
&gt;     heartbeat_destination1 = &#39;nor-jboss-2&#39;<br>
&gt;     heartbeat_destination_port1 = 9694<br>
&gt;     other_pgpool_hostname1 = &#39;nor-jboss-2&#39;<br>
&gt;     other_pgpool_port1 = 5432<br>
&gt;     heartbeat_destination2 = &#39;nor-openfire-1&#39;<br>
&gt;     heartbeat_destination_port2 = 9694<br>
&gt;     other_pgpool_hostname2 = &#39;nor-openfire-1&#39;<br>
&gt;     other_pgpool_port2 = 5432<br>
&gt;     heartbeat_destination3 = &#39;nor-postgres-1&#39;<br>
&gt;     heartbeat_destination_port3 = 9694<br>
&gt;     other_pgpool_hostname3 = &#39;nor-postgres-1&#39;<br>
&gt;     other_pgpool_port3 = 5432<br>
&gt; nor-jboss-2:<br>
&gt;     backend_hostname1 = &#39;10.100.1.11&#39;<br>
&gt;     backend_port1 = 5433<br>
&gt;     backend_weight1 = 1<br>
&gt;     backend_data_directory1 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag1 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     backend_hostname2 = &#39;10.100.1.10&#39;<br>
&gt;     backend_port2 = 5433<br>
&gt;     backend_weight2 = 1<br>
&gt;     backend_data_directory2 = &#39;/var/lib/postgresql/9.3&#39;<br>
&gt;     backend_flag2 = &#39;ALLOW_TO_FAILOVER&#39;<br>
&gt;     fail_over_on_backend_error = on<br>
&gt;     heartbeat_destination0 = &#39;nor-postgres-2&#39;<br>
&gt;     heartbeat_destination_port0 = 9694<br>
&gt;     other_pgpool_hostname0 = &#39;nor-postgres-2&#39;<br>
&gt;     other_pgpool_port0 = 5432<br>
&gt;     heartbeat_destination1 = &#39;nor-openfire-1&#39;<br>
&gt;     heartbeat_destination_port1 = 9694<br>
&gt;     other_pgpool_hostname1 = &#39;nor-openfire-1&#39;<br>
&gt;     other_pgpool_port1 = 5432<br>
&gt;     heartbeat_destination2 = &#39;nor-postgres-1&#39;<br>
&gt;     heartbeat_destination_port2 = 9694<br>
&gt;     other_pgpool_hostname2 = &#39;nor-postgres-1&#39;<br>
&gt;     other_pgpool_port2 = 5432<br>
&gt;     heartbeat_destination3 = &#39;nor-jboss-1&#39;<br>
&gt;     heartbeat_destination_port3 = 9694<br>
&gt;     other_pgpool_hostname3 = &#39;nor-jboss-1&#39;<br>
&gt;     other_pgpool_port3 = 5432<br>
&gt;<br>
&gt; Other question:<br>
&gt;<br>
&gt; Our servers are connected via two networks. Is it possible to specify a<br>
&gt; pool member with both IP interfaces?<br>
<br>
</div></div>One other pgpool must be specified by single IP or hostname. You can use either<br>
of them. The exception is heartbeat destination; you can specify both IP<br>
as heartbeat_destinationX.<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; ----------------------------------------------------------------------------------------<br>
&gt; Network #1<br>
&gt;              |                |                  |             |<br>
&gt;         |<br>
&gt;              S1           S2               S3          S4               S5<br>
&gt;              |               |                    |            |<br>
&gt;         |<br>
&gt; ----------------------------------------------------------------------------------------<br>
&gt; Network #2<br>
&gt;<br>
&gt; none of the networks are connected with failover connections, both use<br>
&gt; different IP subnets.<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Attila<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Yugo Nagata &lt;<a href="mailto:nagata@sraoss.co.jp">nagata@sraoss.co.jp</a>&gt;<br>
</font></span></blockquote></div><br></div>