[pgpool-general: 1300] Re: pgpool stopped accepting client connections after 1 node hung
Lonni J Friedman
netllama at gmail.com
Tue Jan 8 08:16:57 JST 2013
On Mon, Jan 7, 2013 at 3:05 PM, Tatsuo Ishii <ishii at postgresql.org> wrote:
>>>>> I don't understand why pgpool stopped accepting client connections.
>>>>> I'd expect that if any single node goes down, pgpool should continue
>>>>> to work and accept connections, and simply mark the unresponsive node
>>>>> as unavailable.
>>>> That is my question too. Do you see this kind of message in the pgpool log?
>>>> degenerate_backend_set: 2 fail over request from pid xxxx
>>>> If you see this, pgpool should initiate the failover and mark cuda-db5 down.
>>> Nope, that message was not present at any time.
>> There was a bug report regarding pgpool-II 3.2 (or higher)'s
>> In the report the error message was same as you
>> (connect_inet_domain_socket: connect() failed: Connection timed out).
>> and I have created a patch to fix it:
>> Can you try it out? Still I am investigating why you did not see fail
>> over but I think you want to try the patch to avoid the error first.
> Oh, I think I see the reason why you do not see fail over.
> You have this:
> fail_over_on_backend_error = off
> In this case new_connection() does not trigger fail over.
> /* If fail_over_on_backend_error is true, do failover.
> * Otherwise, just exit this session.
> if (pool_config->fail_over_on_backend_error)
Just so that I'm clear, your recommendation is that I set
fail_over_on_backend_error=on *AND* apply the patch you provided, and
that will allow pgpool to failover an unresponsive postgres server,
such that pgpool does not stop accepting client connections?
More information about the pgpool-general