[Pgpool-committers] pgpool - pgpool-II: * Change type of InRecovery variable to
User Y-asaba
y-asaba at pgfoundry.org
Tue Jul 10 09:56:07 UTC 2007
Log Message:
-----------
* Change type of InRecovery variable to sig_atomic_t*
* Fixed kind mismatch error when deadlock error occured.
The problem is the following senario.
A: BEGIN:
B: BEGIN;
A: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
B: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
A: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
B: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
Transaction "A" aborts on master node, but it completes on another
nodes. It causes wrong failover.
So pgpool checks deadlock error(code == '40P01') and sends error query
to another nodes.
Modified Files:
--------------
pgpool-II:
main.c (r1.12 -> r1.13)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/main.c.diff?r1=1.12&r2=1.13)
pool.h (r1.7 -> r1.8)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool.h.diff?r1=1.7&r2=1.8)
pool_process_query.c (r1.29 -> r1.30)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_process_query.c.diff?r1=1.29&r2=1.30)
pool_stream.c (r1.3 -> r1.4)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_stream.c.diff?r1=1.3&r2=1.4)
More information about the Pgpool-committers
mailing list