[pgpool-general: 4851] Re: Infinite cycle with 3 nodes and disallow_to_failover

Tatsuo Ishii ishii at postgresql.org
Wed Aug 3 10:55:33 JST 2016


> Hello.
> 
> I'm making multiple node cluster, and have some backend nodes marked
> with flag='DISALLOW_TO_FAILOVER'.
> Since i need to use failover_command, i've set
> fail_over_on_backend_error = on and enabled health_check.
> And, when i detach or kill backend node with DISALLOW_TO_FAILOVER flag,
> pgpool stops answering to queries with that error:
> FATAL:  failed to create a backend connection
> DETAIL:  executing failover on backend
> 
> Meanwhile, in the pgpool.log i have following:
> Aug  2 14:05:26 localhost pgpool: 2016-08-02 14:05:26: pid 9992: LOG: 
> failed to connect to PostgreSQL server on "10.20.30.189:5432",
> getsockopt() detected error "Connection refused"
[snip]
> Aug  2 14:05:32 localhost pgpool: 2016-08-02 14:05:32: pid 9992:
> CONTEXT:  while checking replication time lag
> 
> This does not end until either i get backend node back to work, or
> pgpool is fully restarted. What's the point of that flag? Or is this a bug?

That's an expected behavior. DISALLOW_TO_FAILOVER is typically used
with other HA solution, such as Pacemaker: the host in question is
protected by HA, when the node goes down, a standby node takes over
the same (V)IP as the downed node. Pgpool-II thinks that the node is
back to online.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


More information about the pgpool-general mailing list