[Pgpool-committers] pgpool - pgpool-II: Fixed kind mismatch error when deadlock error

User Y-asaba y-asaba at pgfoundry.org
Wed Jul 11 02:15:31 UTC 2007


Log Message:
-----------
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.

Tags:
----
V1_STABLE

Modified Files:
--------------
    pgpool-II:
        pool.h (r1.5.2.1 -> r1.5.2.2)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool.h.diff?r1=1.5.2.1&r2=1.5.2.2)
        pool_process_query.c (r1.23.2.2 -> r1.23.2.3)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_process_query.c.diff?r1=1.23.2.2&r2=1.23.2.3)
        pool_stream.c (r1.2 -> r1.2.2.1)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_stream.c.diff?r1=1.2&r2=1.2.2.1)


More information about the Pgpool-committers mailing list