[pgpool-committers: 989] pgpool: Fix do_query() not to hang when PostgreSQL returns an error.
Tatsuo Ishii
ishii at postgresql.org
Thu May 16 13:27:05 JST 2013
Fix do_query() not to hang when PostgreSQL returns an error.
The typical symptom is "I see SELECT is keep on running according to
pg_stat_activity". To fix this pgpool-II just exits the process and
kill the existig connection. This is not gentle but at this point I
believe this is the best solution. Here is an excerpt from source
code:
/*
* This is fatal. Because: If we operate extended
* query, backend would not accept subsequent commands
* until "sync" message issued. However, if sync
* message issued, unnamed statement/unnamed portal
* will disappear and will cause lots of problems. If
* we do not operate extended query, ongoing
* transaction is aborted, and subsequent query would
* not accepted. In summary there's no transparent
* way for frontend to handle error case. The only way
* is closing this session.
*/
Branch
------
V3_0_STABLE
Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=8171de49a834eb682f5e176be09b646614248722
Modified Files
--------------
pool_process_query.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
More information about the pgpool-committers
mailing list