[pgpool-general: 4303] Re: Pgpool - connection hangs in DISCARD ALL

Tatsuo Ishii ishii at postgresql.org
Fri Jan 8 06:32:52 JST 2016


I heard similar reports but problem for developers is, nobody knows
how to reproduce the hang (a stack trace after the hang is not very
helpful).

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

From: the Rat <therat at abv.bg>
Subject: Re: [pgpool-general: 4295] Re: Pgpool - connection hangs in DISCARD ALL
Date: Thu, 7 Jan 2016 22:11:23 +0200 (EET)
Message-ID: <761041727.22616.1452197483031.JavaMail.apache at nm3.abv.bg>

> Hello, 
>   We've also experienced this problem with 3.4.3 with postgres 9.4. The connections pile up on the backend as well and eventually hit the max_connections limit causing pgpool to failover to another node.  
>   The only way we were able to work around it is to disable the pooling of pgpool, but that looses the main advantage of pgpool.   connection_cache = off   
> 
> On 04.01.2016 10:00, Tatsuo Ishii wrote:
> 
>>>>>>>> On 31.12.2015 10:50, Tatsuo Ishii wrote:
> 
>>>>>>>>>> Yes, reconfigured. Keep you up2date. Any fix for the logic possible?
> 
>>>>>>>>> Yes, I'm thinking now.
> 
>>>>>>>> Still hangs even with child_max_connections = 0, same stack trace.
> 
>>>>>>> Too bad. I'm going to look for other causes if any.
> 
>>>>>> I remebered this:
> 
>>>>>>
> 
>>>>>>  http://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=78d2fe3fd 
> 
>>>>>> 82b4d2ee90e1369be8dd583196fd36e
> 
>>>>>>
> 
>>>>>> If you still have the problem after disabling client_idle_limit, the
> 
>>>>>> fix is for you.
> 
>>>> Sorry, I wanted to say:
> 
>>>>
> 
>>>>> If you do not  have the problem after disabling client_idle_limit,
> 
>>>>> the fix is for you.
> 
>>>>> Thnx, but still happens. Should I try master version or 3.3.7?
> 
>>>> That's an option. However, if you like, could you try the fix before
> 
>>>> going to 3.3?  The patch may fix other code path which trigger the
> 
>>>> problem.  (or try 3.4-stable head).
> 
>>>>
> 
>>> I tried the fix on the link already, but it didn't help (unless you did forget to attach another fix?).
> 
>>>
> 
>>> Will try 3.4-stable head, then 3.3 if it doesn't help.
> 
> 
> 
> 3.4 stable head also has the problem:
> 
> (gdb) ba
> 
> #0  0x00007f53d6f40d63 in __select_nocancel () from /lib64/libc.so.6
> 
> #1  0x000055a2f00669e1 in pool_check_fd (cp=cp at entry=0x55a2f05c0a20) at 
> 
> protocol/pool_process_query.c:970
> 
> #2  0x000055a2f0066c86 in pool_check_fd (cp=cp at entry=0x55a2f05c0a20) at 
> 
> protocol/pool_process_query.c:992
> 
> #3  0x000055a2f00a9f7b in pool_read (cp=0x55a2f05c0a20, 
> 
> buf=buf at entry=0x7ffc811e7137, len=len at entry=1) at utils/pool_stream.c:159
> 
> #4  0x000055a2f006f1dc in read_kind_from_backend 
> 
> (frontend=frontend at entry=0x55a2f05ba270, 
> 
> backend=backend at entry=0x55a2f05b9210, 
> 
> decided_kind=decided_kind at entry=0x7ffc811e7537 "E")
> 
>      at protocol/pool_process_query.c:3618
> 
> #5  0x000055a2f0076d79 in ProcessBackendResponse 
> 
> (frontend=frontend at entry=0x55a2f05ba270, 
> 
> backend=backend at entry=0x55a2f05b9210, state=state at entry=0x7ffc811e75cc,
> 
>      num_fields=num_fields at entry=0x7ffc811e75ca) at 
> 
> protocol/pool_proto_modules.c:2519
> 
> #6  0x000055a2f006b1b7 in pool_process_query (frontend=0x55a2f05ba270, 
> 
> backend=0x55a2f05b9210, reset_request=reset_request at entry=1) at 
> 
> protocol/pool_process_query.c:302
> 
> #7  0x000055a2f0062a9a in backend_cleanup (backend= , 
> 
> frontend_invalid=frontend_invalid at entry=0 '\000', 
> 
> frontend=0x55a2f037c4e0  ) at protocol/child.c:442
> 
> #8  0x000055a2f0065745 in do_child (fds=fds at entry=0x55a2f05b4440) at 
> 
> protocol/child.c:238
> 
> #9  0x000055a2f004263e in fork_a_child (fds=0x55a2f05b4440, id=3) at 
> 
> main/pgpool_main.c:678
> 
> #10 0x000055a2f0043735 in reaper () at main/pgpool_main.c:2148
> 
> #11 0x000055a2f004724b in PgpoolMain (discard_status= , 
> 
> clear_memcache_oidmaps= ) at main/pgpool_main.c:411
> 
> #12 0x000055a2f0040d4e in main (argc= , 
> 
> argv=0x7ffc811ecb28) at main/main.c:310
> 
> 
> 
> Will try 3.3.7.
> 
> 
> 
> BTW: I'm using the following script to get an overview whats happening:
> 
> cat watch_pg.sh
> 
> #!/usr/bin/env bash
> 
> watch -n 1 "ps wwwaux --sort=user,command,pid | grep -v grep | grep -E 
> 
> '^USER|pgpool|postgres:'"
> 
> 
> 
> Ciao,
> 
> Gerhard
> 
> 
> 
> _______________________________________________
> 
> pgpool-general mailing list
> 
>  pgpool-general at pgpool.net 
> 
>  http://www.pgpool.net/mailman/listinfo/pgpool-general 
> 
>  


More information about the pgpool-general mailing list