[pgpool-committers: 3046] 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
------
master

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

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



More information about the pgpool-committers mailing list