[pgpool-general: 5105] Re: pgpool incorrectly thinks backend cluster is down
Tatsuo Ishii
ishii at sraoss.co.jp
Mon Nov 7 15:08:33 JST 2016
> I have pgpool configured against two redshift backend clusters to do
> parallel writes. Seemingly at random, pgpool determines that one or both
> the clusters are down and stops accepting connections even when they are
> not down. I have health check configured every 30 seconds but that does not
> help as it checks heath and still determines they are down in pgpool_status
> file. How is health status determined and written to the file
> /var/log/pgpool/pgpool_status and why does pgpool think the clusters are
> down when they are not?
Whenever Pgpool-II thinks a backend is being down, there should be a
log entry in the Pgpool-II log file. Please check.
> I also tested read query routing and noticed they were being routed
> randomly to the backend clusters. Is there a specific algorithm that pgpool
> uses for read query routing?
Yes, it randomly routes to backends. You can control the possibility
of the routing.
>
>
>
>
> My config parameters are below
>
>
>
> backend_hostname0 = 'cluster1'
>
> backend_port0 = 5439
>
> backend_weight0 = 1
>
> backend_data_directory0 = '/data1'
>
> backend_flag0 = 'ALLOW_TO_FAILOVER'
>
>
>
> backend_hostname1 = 'cluster2'
>
> backend_port1 = 5439
>
> backend_weight1 = 1
>
> backend_data_directory1 = '/data1'
>
> backend_flag1 = 'ALLOW_TO_FAILOVER'
>
>
>
> #-----------------------------------------------------------
> -------------------
>
> # HEALTH CHECK
>
> #-----------------------------------------------------------
> -------------------
>
>
>
> health_check_period = 30
>
> # Health check period
>
> # Disabled (0) by default
>
> health_check_timeout = 20
>
> # Health check timeout
>
> # 0 means no timeout
>
> health_check_user = 'username'
>
> # Health check user
>
> health_check_password = 'password'
>
> # Password for health check user
>
> health_check_max_retries = 10
>
> # Maximum number of times to retry a
> failed health check before giving up.
>
> health_check_retry_delay = 1
>
> # Amount of time to wait (in seconds)
> between retries.
More information about the pgpool-general
mailing list