[pgpool-committers: 988] 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_1_STABLE
Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=c63a92ef6dc4e0bc7bda7eaeb170e1b61c1ffa52
Modified Files
--------------
pool_process_query.c | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
More information about the pgpool-committers
mailing list