[pgpool-general: 8638] Re: The cluster fails over even when failover_on_backend_error = off

Tatsuo Ishii ishii at sraoss.co.jp
Tue Mar 14 17:00:03 JST 2023


> PgPool II 4.3.5 and Postgresql 13.10.
> 
> Three nodes: FISPCCPGS302a, b & c.
> 
> "a" has the primary database, "b" has the replica, and "c" has the VIP
> (but no database).
> 
> One or more times a day, on each node, health_check times out when
> trying to reach one or two of the others.  (I'm working on figuring
> out why that happens.)

Maybe unstable network?  You might want to use "SHOW
POOL_HEALTH_CHECK_STATS" command.
https://www.pgpool.net/docs/pgpool-II-4.3.5/en/html/sql-show-pool-health-check-stats.html

> What else happens is that nodes "b" and "c" will vote to failover from
> "a" to "b", even though failover_on_backend_error = off.
> 
> Why does that happen?
> https://www.pgpool.net/docs/pgpool-II-4.3.5/en/html/runtime-config-failover.html
> says it should just "report an error and disconnect the session in
> case of such errors."
> 
> Is it because "if no client is connected, Pgpool-II will not detect
> the event even if the parameter is on"?  (This is a pre-production
> system, so the application servers aren't talking to it.)
> 
> Attached is a log file extract and PGPOOL SHOW command.

Turning off failover_on_backend_error prevents pgpool child process
from triggering failover by failures like "An error occurs while
connecting to PostgreSQL, or network level errors occur while
communicating with it." (from the manual) This does not affect health
check process.  i.e. Turning off failover_on_backend_error does not
prevent pgpool from trigerring failover by health check.

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp


More information about the pgpool-general mailing list