[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