[pgpool-hackers: 279] Commit failes on primary

Tatsuo Ishii ishii at postgresql.org
Mon Jun 3 12:10:43 JST 2013


Hi pgpool hackers,

I had got an intersting claim in bug #60.

http://www.pgpool.net/mantisbt/view.php?id=60

He's using streaming replication. He got unwanted session
disconnection by "kind mismatch error" on commit. In his example an
insert trigger is set, which never allows INSERT and the trigger is a
defferable one.  As as result, everything goes well until the
transaction gets commited.

If responses from PostgreSQL servers do not agree, pgpool choses the
"major" one, and degenrate the "minor" servers to keep data
consistency. If failover is not allowed, pgpool just disconects the
session.

His claim was, in streaming replication, only primary is allowed to
execute DMLs. So if only the primary fails at commit, pgpool should
just returns an error to client, not terminate the session (or
degeneration). So I fixed pgpool to not session disconnection or
failover if the primary failed at commit.

Sounds interesting?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list