[pgpool-committers: 3772] pgpool: Fix query cache bug reported in pgpool-general-jp:1441.
Tatsuo Ishii
ishii at postgresql.org
Thu Jan 19 08:39:59 JST 2017
Fix query cache bug reported in pgpool-general-jp:1441.
In streaming replication mode with query cache enabled, SELECT hangs
in the following scenario:
1) a SELECT hits query cache and returns rows from the query cache.
2) following SELECT needs to search meta data and it hangs.
In #1, while returning the cached result, it misses to call
pool_unset_pending_response(), which leave the pending_response flag
be set. In #2, do_query() checks the flag and tries to read pending
response from backend. Since there's no pending data in backend, it
hangs in reading data from backend.
Fix is, just call pool_unset_pending_response() in #1 to reset the
flag.
Bug report and fix provided by Nobuyuki Nagai.
New regression test item (068) added by me.
Branch
------
V3_6_STABLE
Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=779d02959b638bd4a2513594752b85e4988a50e5
Modified Files
--------------
src/protocol/pool_proto_modules.c | 1 +
.../regression/tests/068.memqcache_bug/Sample.java | 50 ++++++++++++++++++++++
.../regression/tests/068.memqcache_bug/test.sh | 38 ++++++++++++++++
3 files changed, 89 insertions(+)
More information about the pgpool-committers
mailing list