[pgpool-committers: 9992] pgpool: Fix hang after a flush message received.
Tatsuo Ishii
ishii at postgresql.org
Tue Jul 30 18:41:43 JST 2024
Fix hang after a flush message received.
Previously pgpool could hang after a flush message arrives. Consider
following scenario:
(1) backend sends a portal suspend message.
(2) pgool write it in the frontend write buffer. But not flush it.
(3) The frontend sends a flush message to pgpool.
(4) pgpool fowards the flush message to backend.
(5) Since there's no pending message in backend, nothing happen.
(6) The frontend waits for the portal suspend message from pgpool in vain.
To fix this, at (4) pgpool flushes data in the frontend write buffer
if some data remains (in this case the portal suspend message). Then
the frontend will send next request message to pgpool.
Discussion: https://github.com/pgpool/pgpool2/issues/59
Backpatch-through: master, 4.5, 4.4, 4.3, 4.2 and 4.1.
Branch
------
V4_3_STABLE
Details
-------
https://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=b29f5cbb316f7bef4b538219c814d5788b1242da
Modified Files
--------------
src/protocol/pool_proto_modules.c | 7 +++++++
1 file changed, 7 insertions(+)
More information about the pgpool-committers
mailing list