[pgpool-general: 5613] Re: pgpool 3.6.4 does not always pass database exception to application and cause it to get stuck
Jon
jon at jojati.com
Sun Jul 9 21:06:49 JST 2017
Thanks so much for reporting this on the list!
I have experienced this bug too.... (i saw it as big lag on the first
call.... and then sometimes seems to just hang)
I tried 3.6.4 and 3.6.3 on ubuntu 14.04 and 16.04 - tried from apt and also
from source... tbh i was almost ready to give up...
I can also confirm that if you just set the weight so it goes to Master
only it works fine (this is what i'm doing at the moment - and i was
wondering what the next move would be)
Good to hear that 3.6.1 works ok - i will move to that shortly...
On Sun, Jul 9, 2017 at 8:34 PM, Avi Weinberg <AviW at gilat.com> wrote:
> Hi All,
>
>
>
> I'm using pgpool 3.6.4 master-slave with load balancing. On many
> occasions a database exception is not passed to the application and the
> application get stuck. I opened a bug - https://www.pgpool.net/
> mantisbt/view.php?id=318 but pgpool developers were not able to
> reproduce it yet. I will greatly appreciate if some of you could please
> run the following script and check if the bug is reproduced on your setup.
>
>
>
> To run the sh script you need to have pgproto (
> https://github.com/tatsuo-ishii/pgproto) which was developed by
> Tatsuo-ishii to simulate pgpool problems.
>
>
>
>
>
> The following is a short shell script to run pgproto in a loop. The
> bug318.data input file is also supplied below.
>
>
>
> Please note that it fails on setup running pgpool 3.6.4 with replication
> master+slave and load balancing. If you have setup with only master (slave
> is down) you will not see the bug. Please run the sh script and see if it
> manage to finish the loop without error.
>
>
>
> #!/bin/bash
>
>
>
> File="./run_test.log"
>
>
>
> for ((n=0; n<10000; n++))
>
> do
>
> (
>
> echo "iteration $n "
>
> pgproto -f bug318.data -p 9999 –h your_ip_address -u postgres -d
> your_db_name > $File;
>
> ) 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S:"), $0; fflush(); }' |
> tee -a "$File"
>
>
>
> if grep -q Terminate "$File"; then
>
> echo "ok"
>
> else
>
> echo "Bug"
>
> exit
>
> fi
>
> done
>
>
>
> ------------------------------------------------------------
> ---------------------------------------------------
>
>
>
> The following is a bug318.data used by the batch script (which calls
> pgproto)
>
>
>
> #
>
> 'Q' "SET statement_timeout = '4s'"
>
>
>
> # Receive response from backend
>
> 'Y'
>
>
>
> # Execute statement
>
> 'P' "S1" "SELECT 1/0" 0
>
> 'B' "" "S1" 0 0 0
>
> 'E' "" 0
>
> 'C' 'S' "S1"
>
>
>
> # Execute statement
>
> 'P' "S2" "SELECT 1/0" 0
>
> 'B' "" "S2" 0 0 0
>
> 'E' "" 0
>
> 'C' 'S' "S2"
>
>
>
> # Issue Sync message
>
> 'S'
>
>
>
> # Receive response from backend
>
> 'Y'
>
>
>
> # Send terminate message
>
> 'X'
>
>
> IMPORTANT - This email and any attachments is intended for the above named
> addressee(s), and may contain information which is confidential or
> privileged. If you are not the intended recipient, please inform the sender
> immediately and delete this email: you should not copy or use this e-mail
> for any purpose nor disclose its contents to any person.
>
> _______________________________________________
> pgpool-general mailing list
> pgpool-general at pgpool.net
> http://www.pgpool.net/mailman/listinfo/pgpool-general
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pgpool.net/pipermail/pgpool-general/attachments/20170709/6c219c23/attachment.htm>
More information about the pgpool-general
mailing list