[pgpool-general-jp: 32] Re: JDBCからpgpool-IIを経由してのpostgreSQL接続について
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp
2006年 11月 14日 (火) 17:43:08 JST
浅羽です。
From: Yoshiyuki Asaba <y-asaba @ sraoss.co.jp>
Subject: [pgpool-general-jp: 25] Re: JDBCからpgpool-IIを経由してのpostgreSQL接続について
Date: Fri, 10 Nov 2006 17:10:07 +0900 (JST)
> > 適用してみました。
> >
> > 先ほどより少し進展しましたが、やはり駄目でした。
> >
> > pgpoolのログも採りましたので、postgreSQLのログと合わせて添付します。
>
> ログありがとうございます。うーむ、ダメでしたか…。週末にちょっと確認し
> てみますので少しお待ちください。
パッチを作ってみました。お手数ですが再度試していただけないでしょうか?
現在の CVS HEAD に対するパッチになります。
手元の環境では動くようになっていますが、もし止まってしまうようでしたら、
再現プログラムも一緒にいただけると助かります。
よろしくお願いします。
--
Yoshiyuki Asaba
y-asaba @ sraoss.co.jp
-------------- next part --------------
Index: pool_process_query.c
===================================================================
RCS file: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v
retrieving revision 1.4
diff -c -r1.4 pool_process_query.c
*** pool_process_query.c 27 Sep 2006 02:14:24 -0000 1.4
--- pool_process_query.c 14 Nov 2006 08:39:51 -0000
***************
*** 166,172 ****
int connection_reuse,
int first_ready_for_query_received)
{
! char kind, kind1; /* packet kind (backend) */
char fkind; /* packet kind (frontend) */
short num_fields = 0;
fd_set readmask;
--- 166,172 ----
int connection_reuse,
int first_ready_for_query_received)
{
! char kind; /* packet kind (backend) */
char fkind; /* packet kind (frontend) */
short num_fields = 0;
fd_set readmask;
***************
*** 184,190 ****
for (;;)
{
! kind = kind1 = 0;
fkind = 0;
if (state == 0 && connection_reuse)
--- 184,190 ----
for (;;)
{
! kind = 0;
fkind = 0;
if (state == 0 && connection_reuse)
***************
*** 309,328 ****
}
else
{
! if (MASTER(backend)->len > 0)
{
! status = read_kind_from_backend(frontend, backend, &kind);
if (status != POOL_CONTINUE)
return status;
! if (kind != 0 || kind1 != 0)
! {
! pool_debug("cached kind(%02x) or kind1(%02x) != 0", kind, kind1);
! }
! else
! {
! continue;
! }
}
}
--- 309,321 ----
}
else
{
! if (frontend->len > 0)
{
! status = ProcessFrontendResponse(frontend, backend);
if (status != POOL_CONTINUE)
return status;
! continue;
}
}
***************
*** 3069,3075 ****
{
if (VALID_BACKEND(i))
{
! if (pool_write(CONNECTION(backend, i), p, len))
return POOL_END;
}
}
--- 3062,3068 ----
{
if (VALID_BACKEND(i))
{
! if (pool_write_and_flush(CONNECTION(backend, i), p, len))
return POOL_END;
}
}
pgpool-general-jp メーリングリストの案内