[Pgpool-general] Pgpool probelms
Tatsuo Ishii
ishii at sraoss.co.jp
Wed Jul 15 04:42:46 UTC 2009
Sorry for delay. Akio Ishida found a cause of this bug. Here is the
patches made by him which should fix your problem. Please try...
$ diff -u pool_process_query.c.org pool_process_query.c
--- pool_process_query.c.org 2009-05-04 19:53:29.000000000 +0900
+++ pool_process_query.c 2009-07-15 13:03:25.000000000 +0900
@@ -2051,13 +2051,13 @@
if (qcnt >= qn)
{
- if (qcnt >= qn + prepared_list.cnt)
+ if (prepared_list.cnt == 0)
{
reset_prepared_list(&prepared_list);
return 2;
}
- send_deallocate(backend, &prepared_list, qcnt - qn);
+ send_deallocate(backend, &prepared_list, 0);
return 1;
}
--
Tatsuo Ishii
SRA OSS, Inc. Japan
> Hi Tatsuo,
>
> Can you let me know, what might be wrong here?
>
> Regards,
> Nimesh.
>
>
> On 6/17/09, Nimesh Satam <nimesh.satam at gmail.com> wrote:
> >
> > Tatsuo,
> >
> > I am getting this on pgpool-II 2.2.2. I don't have any case studies ready
> > at this moment. But here are the data_logs below in the mail which might
> > help you. Three statements were passed S_1, S_2, S_3, but when the user
> > disconnected only S_1, S_3 got DEALLOCATED. Same happened at the end when
> > S_1 and S_3 were prepared after disconnection only S_1 got DEALLOCATED. Will
> > this be causing the problem.
> >
> > *2009-06-17 03:15:07 PDT [11025]: [3-1] LOG: duration: 0.437 ms parse
> > S_1: BEGIN*
> > 2009-06-17 03:15:07 PDT [11025]: [4-1] LOG: duration: 0.009 ms bind S_1:
> > BEGIN
> > *2009-06-17 03:15:07 PDT [11025]: [13-1] LOG: duration: 0.009 ms parse
> > S_2: COMMIT*
> > 2009-06-17 03:15:13 PDT [11025]: [14-1] LOG: duration: 0.042 ms bind S_1:
> > BEGIN
> > *2009-06-17 03:16:10 PDT [11025]: [8071-1] LOG: duration: 0.010 ms parse
> > S_3: ROLLBACK*
> > 2009-06-17 03:20:12 PDT [11025]: [43176-1] LOG: duration: 0.025 ms
> > statement: BEGIN
> > 2009-06-17 03:20:12 PDT [11025]: [43177-1] LOG: duration: 0.019 ms
> > statement: RESET ALL
> > 2009-06-17 03:20:12 PDT [11025]: [43178-1] LOG: duration: 0.106 ms
> > statement: COMMIT
> > 2009-06-17 03:20:12 PDT [11025]: [43179-1] LOG: duration: 0.009 ms
> > statement: BEGIN
> > 2009-06-17 03:20:12 PDT [11025]: [43180-1] LOG: duration: 0.021 ms
> > statement: SET SESSION AUTHORIZATION DEFAULT
> > 2009-06-17 03:20:12 PDT [11025]: [43181-1] LOG: duration: 0.011 ms
> > statement: COMMIT
> > 2009-06-17 03:20:12 PDT [11025]: [43182-1] LOG: duration: 0.007 ms
> > statement: BEGIN
> > *2009-06-17 03:20:12 PDT [11025]: [43183-1] LOG: duration: 0.019 ms
> > statement: DEALLOCATE "S_1"*
> > 2009-06-17 03:20:12 PDT [11025]: [43184-1] LOG: duration: 0.009 ms
> > statement: COMMIT
> > 2009-06-17 03:20:12 PDT [11025]: [43185-1] LOG: duration: 0.007 ms
> > statement: BEGIN
> > *2009-06-17 03:20:12 PDT [11025]: [43186-1] LOG: duration: 0.010 ms
> > statement: DEALLOCATE "S_3"*
> > 2009-06-17 03:20:12 PDT [11025]: [43187-1] LOG: duration: 0.009 ms
> > statement: COMMIT
> > 2009-06-17 03:20:15 PDT [11025]: [43188-1] LOG: duration: 0.023 ms parse
> > S_1: BEGIN
> > 2009-06-17 03:20:15 PDT [11025]: [43189-1] LOG: duration: 0.003 ms bind
> > S_1: BEGIN*
> > 2009-06-17 03:20:16 PDT [11025]: [43286-1] ERROR: prepared statement "S_2"
> > already exists*
> > 2009-06-17 03:20:17 PDT [11025]: [43288-1] LOG: duration: 0.009 ms bind
> > S_1: BEGIN
> > 2009-06-17 03:20:21 PDT [11025]: [45950-1] LOG: duration: 0.010 ms parse
> > S_3: COMMIT
> > 2009-06-17 03:20:31 PDT [11025]: [45951-1] LOG: duration: 0.027 ms bind
> > S_1: BEGIN
> > 2009-06-17 03:25:58 PDT [11025]: [70834-1] LOG: duration: 0.034 ms bind
> > S_1: BEGIN
> > *2009-06-17 03:25:58 PDT [11025]: [70888-1] LOG: duration: 0.012 ms
> > statement: DEALLOCATE "S_1"*
> >
> > We have kept the *connection_cache = true *and the *reset_query_list =
> > 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'*
> >
> > Regards,
> > Nimesh.
> >
> >
> >
> > On Wed, Jun 17, 2009 at 12:15 PM, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:
> >
> >> If you are getting this with pgpool-II 2.2.2, please send a
> >> self-contained test case if possible.
> >> --
> >> Tatsuo Ishii
> >> SRA OSS, Inc. Japan
> >>
> >> > Hi,
> >> >
> >> > We are using pgpool-II in Master-slave, Loadbalance mode and are facing
> >> > issues with the same. Can anybody lets us know what's going wrong here?
> >> >
> >> > 1) We are getting many entries in the database logs with following
> >> errors:
> >> > 2009-06-16 21:42:47 PDT [11040]: [2486-1] ERROR: prepared statement
> >> "S_2"
> >> > already exists
> >> > 2009-06-16 21:43:04 PDT [11040]: [2535-1] ERROR: prepared statement
> >> "S_3"
> >> > already exists
> >> > 2009-06-16 21:43:48 PDT [11040]: [2546-1] ERROR: prepared statement
> >> "S_4"
> >> > already exists
> >> > 2009-06-16 21:43:49 PDT [11040]: [2564-1] ERROR: prepared statement
> >> "S_5"
> >> > already exists
> >> > 2009-06-16 21:44:49 PDT [11040]: [2576-1] ERROR: prepared statement
> >> "S_6"
> >> > already exists
> >> >
> >> > This causes the application to fail. {This was supposed to be fixed in
> >> 2.2.1
> >> > and later versions?}
> >> >
> >> > 2) We are seeing stuck queries when connecting through pgpool. ps U
> >> postgres
> >> > shows all the queries in bind state:
> >> > 5003 ? Ss 0:52 postgres: ck rpro xxx.xx.xx.xx(52218) BIND
> >> > 5004 ? Ss 0:28 postgres: ck rpro xxx.xx.xx.xx(52220) BIND
> >> > 18961 ? Ss 0:54 postgres: ck rpro xxx.xx.xx.xx(34508) BIND
> >> > 18962 ? Ss 0:39 postgres: ck rpro xxx.xx.xx.xx(34510) BIND
> >> >
> >> > This queries are not performing any activity and seem to have hanged.
> >> >
> >> > Both applications in question are Java applications and we are using the
> >> > postgres version 8.3.3
> >> >
> >> > Any help here would be much appreciated.
> >> >
> >> > Regards,
> >> > Nimesh.
More information about the Pgpool-general
mailing list