[pgpool-general-jp: 147] Re: pgpoolIIとJDBC protocolVersion2について

Yoshiyuki Asaba y-asaba @ sraoss.co.jp
2007年 5月 30日 (水) 09:16:43 JST


浅羽です。

From: "Kenji Yamaguchi" <k.yamaguchi @ ts.infocom.co.jp>
Subject: [pgpool-general-jp: 146] Re: pgpoolIIとJDBC protocolVersion2について
Date: Tue, 29 May 2007 13:58:09 +0900

> 最初の止まっている所とは違いますが、起動時に止まります。

うーむ…、再現しないので pgpool-II 1.1 からのパッチを作り直しましたの
で、もう一度新しくパッチを適用、ビルドして試していただけないでしょうか?
もし、止まりましたら pgpool のログの最後を数行見せていただけないでしょ
うか?

よろしくお願いします。
--
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.16
retrieving revision 1.18
diff -c -r1.16 -r1.18
*** pool_process_query.c	22 May 2007 06:28:41 -0000	1.16
--- pool_process_query.c	29 May 2007 01:58:10 -0000	1.18
***************
*** 1,6 ****
  /* -*-pgsql-c-*- */
  /*
!  * $Header: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v 1.16 2007/05/22 06:28:41 y-asaba Exp $
   *
   * pgpool: a language independent connection pool server for PostgreSQL 
   * written by Tatsuo Ishii
--- 1,6 ----
  /* -*-pgsql-c-*- */
  /*
!  * $Header: /cvsroot/pgpool/pgpool-II/pool_process_query.c,v 1.18 2007/05/29 01:58:10 y-asaba Exp $
   *
   * pgpool: a language independent connection pool server for PostgreSQL 
   * written by Tatsuo Ishii
***************
*** 1428,1434 ****
  		int j;
  
  		/* field name */
! 		for (j=0;j<NUM_BACKENDS;i++)
  		{
  			if (VALID_BACKEND(j))
  			{
--- 1428,1434 ----
  		int j;
  
  		/* field name */
! 		for (j=0;j<NUM_BACKENDS;j++)
  		{
  			if (VALID_BACKEND(j))
  			{
***************
*** 1436,1442 ****
  				if (string == NULL)
  					return POOL_END;
  
! 				if (j == 0)
  				{
  					len1 = len;
  				}
--- 1436,1442 ----
  				if (string == NULL)
  					return POOL_END;
  
! 				if (IS_MASTER_NODE_ID(j))
  				{
  					len1 = len;
  				}
***************
*** 1451,1470 ****
  					}
  				}
  
! 				pool_write(frontend, string, len);
  			}
  		}
  
  		/* type oid */
! 		for (j=0;j<NUM_BACKENDS;i++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(MASTER(backend), &oid, sizeof(int));
  
  				pool_debug("RowDescription: type oid: %d", ntohl(oid));
  
! 				if (j == 0)
  				{
  					oid1 = oid;
  				}
--- 1451,1471 ----
  					}
  				}
  
! 				if (IS_MASTER_NODE_ID(j))
! 					pool_write(frontend, string, len);
  			}
  		}
  
  		/* type oid */
! 		for (j=0;j<NUM_BACKENDS;j++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(CONNECTION(backend, j), &oid, sizeof(int));
  
  				pool_debug("RowDescription: type oid: %d", ntohl(oid));
  
! 				if (IS_MASTER_NODE_ID(j))
  				{
  					oid1 = oid;
  				}
***************
*** 1482,1494 ****
  		pool_write(frontend, &oid, sizeof(int));
  
  		/* size */
! 		for (j=0;j<NUM_BACKENDS;i++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(MASTER(backend), &size, sizeof(short));
  
! 				if (j == 0)
  				{
  					size1 = size;
  				}
--- 1483,1495 ----
  		pool_write(frontend, &oid, sizeof(int));
  
  		/* size */
! 		for (j=0;j<NUM_BACKENDS;j++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(CONNECTION(backend, j), &size, sizeof(short));
  
! 				if (IS_MASTER_NODE_ID(j))
  				{
  					size1 = size;
  				}
***************
*** 1507,1521 ****
  		pool_write(frontend, &size, sizeof(short));
  
  		/* modifier */
! 		for (j=0;j<NUM_BACKENDS;i++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(MASTER(backend), &mod, sizeof(int));
  
  				pool_debug("RowDescription: modifier: %d", ntohs(mod));
  
! 				if (j == 0)
  				{
  					mod1 = mod;
  				}
--- 1508,1522 ----
  		pool_write(frontend, &size, sizeof(short));
  
  		/* modifier */
! 		for (j=0;j<NUM_BACKENDS;j++)
  		{
  			if (VALID_BACKEND(j))
  			{
! 				pool_read(CONNECTION(backend, j), &mod, sizeof(int));
  
  				pool_debug("RowDescription: modifier: %d", ntohs(mod));
  
! 				if (IS_MASTER_NODE_ID(j))
  				{
  					mod1 = mod;
  				}
***************
*** 1601,1607 ****
  					if (pool_read(CONNECTION(backend, j), &size, sizeof(int)) < 0)
  						return POOL_END;
  				}
! 				if (IS_MASTER_NODE_ID(i))
  				{
  					size1 = size;
  				}
--- 1602,1608 ----
  					if (pool_read(CONNECTION(backend, j), &size, sizeof(int)) < 0)
  						return POOL_END;
  				}
! 				if (IS_MASTER_NODE_ID(j))
  				{
  					size1 = size;
  				}
***************
*** 1620,1626 ****
  				buf = NULL;
  
  				/* forward to frontend */
! 				pool_write(frontend, &size, sizeof(int));
  				size = ntohl(size) - 4;
  
  				/* read and send actual data only when size > 0 */
--- 1621,1628 ----
  				buf = NULL;
  
  				/* forward to frontend */
! 				if (IS_MASTER_NODE_ID(j))
! 					pool_write(frontend, &size, sizeof(int));
  				size = ntohl(size) - 4;
  
  				/* read and send actual data only when size > 0 */
***************
*** 1733,1739 ****
  				buf = NULL;
  
  				/* forward to frontend */
! 				pool_write(frontend, &size, sizeof(int));
  				size = ntohl(size) - 4;
  
  				/* read and send actual data only when size > 0 */
--- 1735,1742 ----
  				buf = NULL;
  
  				/* forward to frontend */
! 				if (IS_MASTER_NODE_ID(j))
! 					pool_write(frontend, &size, sizeof(int));
  				size = ntohl(size) - 4;
  
  				/* read and send actual data only when size > 0 */


pgpool-general-jp メーリングリストの案内