[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.sraoss.jp/pipermail/pgpool-general/attachments/20170709/6c219c23/attachment-0001.html>


More information about the pgpool-general mailing list