[Pgpool-general] problem with backendkey data

Tatsuo Ishii ishii at sraoss.co.jp
Tue Oct 18 13:34:01 GMT 2005


> i am having an error that i have two servers(say serv1 and serv2), both have 
> postgreSQL 8.0.3
> and pgpool(2.6.3) is running on the primary server(serv1).
> 
> i have been trying to access the DBs via pgpool and i have had errors below:
> 
> 2005-10-18 19:40:41 DEBUG: pid 9991: I am 9991 accept fd 6
> 2005-10-18 19:40:41 DEBUG: pid 9991: Protocol Major: 3 Minor: 0 database: 
> nittel user: postgres
> 2005-10-18 19:40:41 DEBUG: pid 9991: read_message_length: lenghth: 8
> 2005-10-18 19:40:41 DEBUG: pid 9991: trying clear text password 
> authentication
> 2005-10-18 19:40:41 ERROR: pid 9991: do_clear_text_password: failed to read 
> password packet "p"
> 2005-10-18 19:40:41 ERROR: pid 9991: pool_do_auth: backend does not return 
> authenticaton ok
> 2005-10-18 19:40:50 DEBUG: pid 9991: I am 9991 accept fd 6
> 2005-10-18 19:40:50 DEBUG: pid 9991: Protocol Major: 3 Minor: 0 database: 
> nittel user: postgres
> 2005-10-18 19:40:50 DEBUG: pid 9991: read_message_length: lenghth: 8
> 2005-10-18 19:40:50 DEBUG: pid 9991: trying clear text password 
> authentication
> 2005-10-18 19:40:50 DEBUG: pid 9991: read_message_length: lenghth: 65
> 2005-10-18 19:40:50 ERROR: pid 9991: pool_do_auth: invalid messages 
> length(65) for BackendKeyData
> 
> both DBs have the same data and a postgres.cof file. it seems that the two 
> postmasters do not send the same backendkeydata to pgpool but postmasters 
> have no errors.....
> 
> does anyone have any ideas?

pgpool 2.6.3/PostgreSQL 8.0.3/replication mode/password authentication
works for me. I want to know what kind of packet you received before
the error message. Can you apply following patches and send me the
debug out?
--
SRA OSS, Inc. Japan
Tatsuo Ishii

*** pool_auth.c	25 Jun 2005 00:58:46 -0000	1.4
--- pool_auth.c	18 Oct 2005 13:31:17 -0000
***************
*** 243,252 ****
  	/*
  	 * message length (V3 only)
  	 */
! 	if (protoMajor == PROTO_MAJOR_V3 && (length = pool_read_message_length(cp)) != 12)
  	{
! 		pool_error("pool_do_auth: invalid messages length(%d) for BackendKeyData", length);
! 		return -1;
  	}
  
  	/*
--- 243,261 ----
  	/*
  	 * message length (V3 only)
  	 */
! 	if (protoMajor == PROTO_MAJOR_V3)
  	{
! 		if (kind != 'K')
! 		{
! 			pool_error("pool_do_auth: expect \"K\" got %c", kind);
! 			return -1;
! 		}
! 
! 		if ((length = pool_read_message_length(cp)) != 12)
! 		{
! 			pool_error("pool_do_auth: invalid messages length(%d) for BackendKeyData", length);
! 			return -1;
! 		}
  	}
  
  	/*


More information about the Pgpool-general mailing list