[Pgpool-general] Error message when sending query that causes failover
Tatsuo Ishii
ishii at sraoss.co.jp
Sat Nov 8 05:08:18 UTC 2008
In summary it's an expected behavior. You saw that when second node
went down, the session was not disconncted is a bug with 2.1. In the
CVS head you will see the same behavior regardless which node goes
down.
The reason for this change was explained in the following thread:
http://lists.pgfoundry.org/pipermail/pgpool-general/2008-July/001119.html
--
Tatsuo Ishii
SRA OSS, Inc. Japan
> Hello everyone!
>
> I have two instances of PostgreSQL running behind pgpool-II 2.1 with
> connection pooling, replication and load balancing. Online recovery is
> working fine with PITR. Now I have this situation:
>
> - I send an UPDATE statement to the cluster and it goes fine.
> - I shutdown PostgreSQL on the master node.
> - I send another UPDATE statement to the cluster (before the health
> check happens) and pgpool-II detects the master node is down, therefore
> it returns an error and does not execute the SQL statement. It does the
> failover correctly, though.
> - I send the same UPDATE again and it works fine (on the remaining node
> only, of course).
>
> What I was expecting is that, when I send the UPDATE statement and
> pgpool-II realises it is unable to contact the node, it would do
> failover AND execute the statement on the remaining node. And return an
> OK to the client.
>
> Here you are some code, made on the classic table structure of pgbench:
>
> $ psql -h 10.0.33.252 -p 9999 -U pgpool2 -d bench_replication -c "UPDATE
> ACCOUNTS SET abalance = 1011 WHERE aid = 10"
> UPDATE 1
> "/etc/init.d/postgresql stop" on master node
> $ psql -h 10.0.33.252 -p 9999 -U pgpool2 -d bench_replication -c "UPDATE
> ACCOUNTS SET abalance = 1012 WHERE aid = 10"
> psql: server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> $ psql -h 10.0.33.252 -p 9999 -U pgpool2 -d bench_replication -c "SELECT
> abalance FROM ACCOUNTS WHERE aid = 10"
> abalance
> ----------
> 1011
> (1 row)
>
> This does not happen if I shutdown the slave node, only the master.
>
> Is this the expected behaviour? Is there any way to change it?
>
> Thanks in advance.
>
> --
> Jaume Sabater
> http://linuxsilo.net/
>
> "Ubi sapientas ibi libertas"
> _______________________________________________
> Pgpool-general mailing list
> Pgpool-general at pgfoundry.org
> http://pgfoundry.org/mailman/listinfo/pgpool-general
More information about the Pgpool-general
mailing list