[pgpool-hackers: 2187] Re: [pgpool-committers: 3874] pgpool: Fix the case when duplicate statement remains.

Sergey Kim skim at odin.com
Fri Mar 24 18:11:12 JST 2017


Tatsuo,


we will test the fix.

Thank you for notifying!


Just wondering - is it linked to the problem which I notified you before:

2017-03-24T12:05:29.337135+03:00 OAA-54999c4d7735 pgpool[18655]: [15820-1] LOG:  DB node id: 0 backend pid: 18795 statement: Execute: COMMIT
2017-03-24T12:05:29.337383+03:00 OAA-54999c4d7735 pgpool[18655]: [15820-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.337620+03:00 OAA-54999c4d7735 pgpool[18655]: [15821-1] LOG:  DB node id: 1 backend pid: 9485 statement: Execute: COMMIT
2017-03-24T12:05:29.337839+03:00 OAA-54999c4d7735 pgpool[18655]: [15821-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.338075+03:00 OAA-54999c4d7735 pgpool[18655]: [15822-1] LOG:  DB node id: 0 backend pid: 18795 statement: DISCARD ALL
2017-03-24T12:05:29.338291+03:00 OAA-54999c4d7735 pgpool[18655]: [15822-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.338402+03:00 OAA-54999c4d7735 pgpool[18655]: [15823-1] LOG:  DB node id: 1 backend pid: 9485 statement: DISCARD ALL
2017-03-24T12:05:29.338508+03:00 OAA-54999c4d7735 pgpool[18655]: [15823-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.338600+03:00 OAA-54999c4d7735 pgpool[18655]: [15824-1] LOG:  DB node id: 0 backend pid: 18795 statement: BEGIN
2017-03-24T12:05:29.338695+03:00 OAA-54999c4d7735 pgpool[18655]: [15824-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.338819+03:00 OAA-54999c4d7735 pgpool[18655]: [15825-1] LOG:  DB node id: 1 backend pid: 9485 statement: BEGIN
2017-03-24T12:05:29.339000+03:00 OAA-54999c4d7735 pgpool[18655]: [15825-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.339100+03:00 OAA-54999c4d7735 pgpool[18655]: [15826-1] LOG:  DB node id: 0 backend pid: 18795 statement: DEALLOCATE "S_1"
2017-03-24T12:05:29.339200+03:00 OAA-54999c4d7735 pgpool[18655]: [15826-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.339293+03:00 OAA-54999c4d7735 pgpool[18655]: [15827-1] LOG:  pool_send_and_wait: Error or notice message from backend: : DB node id: 0 backend pid: 18795 statement: "DEALLOCATE "S_1"" message: "prepared statement "S_1" does not exist"
2017-03-24T12:05:29.339382+03:00 OAA-54999c4d7735 pgpool[18655]: [15827-2] LOCATION:  pool_proto_modules.c:3225
2017-03-24T12:05:29.339481+03:00 OAA-54999c4d7735 pgpool[18655]: [15828-1] LOG:  DB node id: 1 backend pid: 9485 statement: DEALLOCATE "S_1"
2017-03-24T12:05:29.339580+03:00 OAA-54999c4d7735 pgpool[18655]: [15828-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.339671+03:00 OAA-54999c4d7735 pgpool[18655]: [15829-1] LOG:  pool_send_and_wait: Error or notice message from backend: : DB node id: 1 backend pid: 9485 statement: "DEALLOCATE "S_1"" message: "prepared statement "S_1" does not exist"
2017-03-24T12:05:29.339763+03:00 OAA-54999c4d7735 pgpool[18655]: [15829-2] LOCATION:  pool_proto_modules.c:3225
2017-03-24T12:05:29.339864+03:00 OAA-54999c4d7735 pgpool[18655]: [15830-1] LOG:  DB node id: 1 backend pid: 9485 statement: COMMIT
2017-03-24T12:05:29.339978+03:00 OAA-54999c4d7735 pgpool[18655]: [15830-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.340074+03:00 OAA-54999c4d7735 pgpool[18655]: [15831-1] LOG:  DB node id: 0 backend pid: 18795 statement: COMMIT
2017-03-24T12:05:29.340173+03:00 OAA-54999c4d7735 pgpool[18655]: [15831-2] LOCATION:  pool_proto_modules.c:3209
2017-03-24T12:05:29.340265+03:00 OAA-54999c4d7735 pgpool[18655]: [15832-1] LOG:  child exiting, 1 connections reached
2017-03-24T12:05:29.340428+03:00 OAA-54999c4d7735 pgpool[18655]: [15832-2] LOCATION:  child.c:406



Sergey
________________________________
From: Tatsuo Ishii <ishii at sraoss.co.jp>
Sent: Friday, March 24, 2017 11:58 AM
To: Sergey Kim
Cc: pgpool-hackers at pgpool.net
Subject: Re: [pgpool-committers: 3874] pgpool: Fix the case when duplicate statement remains.

Sergey,

I have found a nasty bug with Pgpool-II and pushed the fix to git
repository. You might want to test the fix.

> Fix the case when duplicate statement remains.
>
> By using parse_before_bind, it is possible a parsed statement remains
> on the load balance node even if explicit close is issued because the
> close is redirected to the primary node. Fix is, issue close to both
> primary and load balance node anytime. This sounds is a little bit
> over killing but I think there's no way to remember the statement
> remains on a load balance node.
>
> Also clean up some ifdef NOT_USED garbage.
>
> Branch
> ------
> bug271
>
> Details
> -------
> http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=2277a500042c8bbe2a4e2a069d23cece0e6ecded
>
> Modified Files
> --------------
> src/auth/pool_auth.c                       |  11 ---
> src/context/pool_session_context.c         |  19 ++++
> src/include/context/pool_session_context.h |   1 +
> src/protocol/pool_process_query.c          | 142 ++---------------------------
> src/protocol/pool_proto_modules.c          | 109 +++-------------------
> 5 files changed, 40 insertions(+), 242 deletions(-)
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.sraoss.jp/pipermail/pgpool-hackers/attachments/20170324/4180b5e0/attachment.html>


More information about the pgpool-hackers mailing list