[pgpool-committers: 3045] pgpool: Fix pgpool hung after receiving error state from backend

Tatsuo Ishii ishii at postgresql.org
Fri Mar 4 19:48:08 JST 2016


Fix pgpool hung after receiving error state from backend

Per bug #169.

This could happend if we execute an extended protocol query and it
fails. After an error is received the "ignore till sync flag" is set
and remained even if sync message was actually received. Thus any
subsequent query (in the case above "DEALLOCATE message") is not
procesed and pgpool waits for message from frontend and backend, and
pgpool stucks here because no message will arrive from both side.

To fix this, unconditionally reset the "ignore till sync flag" in
ReadyforQuery(). This is safe because apparently we already received
the ready for query message.

Branch
------
V3_5_STABLE

Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=faf5c3aa154f78d106ff3c065c682fa7cf7c2067

Modified Files
--------------
src/protocol/pool_proto_modules.c | 8 ++++++++
1 file changed, 8 insertions(+)



More information about the pgpool-committers mailing list