List:Commits« Previous MessageNext Message »
From:Li-Bing.Song Date:September 24 2009 9:40am
Subject:bzr commit into mysql-5.4 branch (Li-Bing.Song:2817) Bug#42984
View as plain text  
#At file:///home/anders/work/bzrwork/September/bug42984/mysql-next-bugfixing/ based on revid:magne.mahre@stripped

 2817 Li-Bing.Song@stripped	2009-09-24
      BUG#42984 rpl.rpl_ssl1 fails in PB2
      
      There are two problems need to be resolved:
      P1, $master_binlog_name_sql's value is NULL, this leads the error showed in this report.
      $master_binlog_name_sql's value is equal to the value of Master_Log_File which appears in
      slave status. The 'CHANGE MASTER' operation resets Master_Log_File as NULL if
      'master_log_file' option is not assigned. 
      
      This problem can be resolved through adding code to show_rpl_debug_info.inc. "SHOW
      BINLOG EVENTS IN '$master_binlog_name_sql'" statement only be executed when
      $master_binlog_name_sql is not null.
      
      P2, The deeper reason of this bug is wait_for_slave_to_start timeout. Slave I/O thread
      fails connection. It is deep relative with that master_host is set as 'localhost' and this
      bug only be reproduced on techra47.norway.sun.com. I replaced all certs used in this test
      case with my certs in which the server's name is 127.0.0.1, then the test worked well. 
      I found there is a bug in IPV6 environment. On my machine I added an entry in /etc/hosts.
      It is "::1     localhost". Thus, localhost will not resolve correctly.
      So I think this is not a bug of replication.
      
      Instead of using localhost, '127.0.0.1' is used as name in server's cert. P2 has
      be reported as a new bug, it is bug_47451.
     @ mysql-test/suite/rpl/t/rpl_ssl1.cnf
        Default certificates are replaced by these certificates which are added into this patch.

    added:
      mysql-test/std_data/ca.cert
      mysql-test/std_data/client.cert
      mysql-test/std_data/client.key
      mysql-test/std_data/server.cert
      mysql-test/std_data/server.key
      mysql-test/suite/rpl/t/rpl_ssl1.cnf
    modified:
      mysql-test/include/show_rpl_debug_info.inc
      mysql-test/suite/rpl/r/rpl_ssl1.result
      mysql-test/suite/rpl/t/rpl_ssl1.test
=== modified file 'mysql-test/include/show_rpl_debug_info.inc'
--- a/mysql-test/include/show_rpl_debug_info.inc	2009-01-09 14:12:31 +0000
+++ b/mysql-test/include/show_rpl_debug_info.inc	2009-09-24 09:40:39 +0000
@@ -77,11 +77,16 @@ if (`SELECT '$_master_con' != ''`)
   SHOW PROCESSLIST;
   --echo
   --echo **** SHOW BINLOG EVENTS on $_master_con ****
-  eval SHOW BINLOG EVENTS IN '$master_binlog_name_sql';
-  if (`SELECT '$master_binlog_name_io' != '$master_binlog_name_sql'`)
+  if ($master_binlog_name_sql)
   {
-    eval SHOW BINLOG EVENTS IN '$master_binlog_name_io';
+    eval SHOW BINLOG EVENTS IN '$master_binlog_name_sql';
+  }
+  if ($master_binlog_name_io)
+  {
+    if (`SELECT '$master_binlog_name_io' != '$master_binlog_name_sql'`)
+    {
+      eval SHOW BINLOG EVENTS IN '$master_binlog_name_io';
+    }
   }
-
   connection $_con;
 }

=== added file 'mysql-test/std_data/ca.cert'
--- a/mysql-test/std_data/ca.cert	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/ca.cert	2009-09-24 09:40:39 +0000
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC6DCCAlGgAwIBAgIJAJP5vrt9+AwXMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV
+BAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMQ4wDAYD
+VQQKEwVNeVNRTDEUMBIGA1UECxMLUmVwbGljYXRpb24wHhcNMDkwMTIwMDIwNDMz
+WhcNMzYwNjA3MDIwNDMzWjBXMQswCQYDVQQGEwJDTjEQMA4GA1UECBMHQmVpamlu
+ZzEQMA4GA1UEBxMHQmVpamluZzEOMAwGA1UEChMFTXlTUUwxFDASBgNVBAsTC1Jl
+cGxpY2F0aW9uMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRj9QgewupC+gl
+7BQRGf9ZSAvnArQfwHda3KZ5S2F5aakSj26epBRxXqsP5v/oZ8/Gt7fvNSVMAkB8
+QPcKz2CBn1NriHlmAPj/KHYRw4y6eURkcn1HyxjRU0ygw5tJU1UMGMjOdPQ5MtME
+Qs9QgbaQZOcl8SVykYUueTPU1I6aeQIDAQABo4G7MIG4MB0GA1UdDgQWBBQYnKG5
+WJbuqYKXOp/kcC0zP7cz3DCBiAYDVR0jBIGAMH6AFBicoblYlu6pgpc6n+RwLTM/
+tzPcoVukWTBXMQswCQYDVQQGEwJDTjEQMA4GA1UECBMHQmVpamluZzEQMA4GA1UE
+BxMHQmVpamluZzEOMAwGA1UEChMFTXlTUUwxFDASBgNVBAsTC1JlcGxpY2F0aW9u
+ggkAk/m+u334DBcwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQB3SR70
+595HXHbvTq0uoXg4ZQebdHcWXwoxXHCgn3cQ2f2E8tCdZ/y+7MuAA8RdokCGAbis
+FEGJ4gLHxPYDJ/h06qbjHOcPwE/41gRi25Ro057d8iU1HW1NUBQPSGXX0J0COjUd
+ftlfbAPMd1yCZh5tSaPRDPk6nfkznWQ0PRma6g==
+-----END CERTIFICATE-----

=== added file 'mysql-test/std_data/client.cert'
--- a/mysql-test/std_data/client.cert	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/client.cert	2009-09-24 09:40:39 +0000
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICHDCCAYUCAQIwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQ04xEDAOBgNV
+BAgTB0JlaWppbmcxEDAOBgNVBAcTB0JlaWppbmcxDjAMBgNVBAoTBU15U1FMMRQw
+EgYDVQQLEwtSZXBsaWNhdGlvbjAeFw0wOTAxMjAwMjIxMTRaFw0zNjA2MDcwMjIx
+MTRaMFYxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMQ4wDAYDVQQKEwVN
+eVNRTDEUMBIGA1UECxMLUmVwbGljYXRpb24xDzANBgNVBAMTBmNsaWVudDCBnzAN
+BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr30686ux4YdCdx25mgJg3E6YTsGi3MCb
+NctUpXfSAp7e2VQ7oLUUkOx6mH+9+4M0jORoYtLmjzahfnVKrRVLSXoGKJqfruxX
+tU0EDpS6r1ffGbS64WT8dDx83pSkF7DuIoRgjUPGF3mww1c/DhtyOI5QV5UGzkuN
+Hrh8wzHslKUCAwEAATANBgkqhkiG9w0BAQUFAAOBgQAevfaCfqiPqmqbjponvSVU
+I8p1abBtjSkDTxPrRereqG2WTvB5BwzwmEHrEs8fKyKAHknt7fNEXjL6mY5z3pI4
+wK2bzyKoIaZr8yGaNhHd9pauzTWUUcOHykKW81bLzt9k92M4zN/9x7peXrfzyrxP
+fgEe2GI7Xlddr9A6yZ+xiQ==
+-----END CERTIFICATE-----

=== added file 'mysql-test/std_data/client.key'
--- a/mysql-test/std_data/client.key	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/client.key	2009-09-24 09:40:39 +0000
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQCvfTrzq7Hhh0J3HbmaAmDcTphOwaLcwJs1y1Sld9ICnt7ZVDug
+tRSQ7HqYf737gzSM5Ghi0uaPNqF+dUqtFUtJegYomp+u7Fe1TQQOlLqvV98ZtLrh
+ZPx0PHzelKQXsO4ihGCNQ8YXebDDVz8OG3I4jlBXlQbOS40euHzDMeyUpQIDAQAB
+AoGANLEnaE7fZFZWsKluNz4Lk1rOBKfDnQEAGZDp450so7jMNPlDxidY+4Ll9LA2
+fTSSLNPQPAwTSmEe8HeLapkAN5n6rGKFTCzHveS2uuaDnhLwABDLEFlSMsZlbg09
+usfpTFO7fH8FncmdxIGbGcpDWqqUzzLv6BB4yNMLR5Sc+ykCQQDm0Yluec2kJ3jX
+8BE98s/N1eTNFZSv0HAnLgxmBJIRVBYzo8/VJzK/8XWK4sIx7Win/2Zi11E1TPI5
+G1nNUtEHAkEAwqJqs+syxa2+GoYxDGLO4UAX730ckVY3pRyZRSHgWyUdtWgmSBx5
+5uVXiZnkIYxzF1EMkjugXRbQG095/pK98wJAfqcxiy5I2a9TDuJLA7wNrLuWfbY+
+zS5JrCYHZZ9SazHBsPpNG4ATx+D9h4Uf2/eSesSY8NmHVQDw1MceQp0T1wJAYv2g
+L2nMJOY87diaUaZfegjTI6cKRJEJNBzbh2G3biPufDlAXyS8i0bRwtZWRQnd71n1
+ftp8sVvM9FbzwRp5KQJBANjt2Ds0wZuy6IOzWLKLFmxDTXmqYQSyOFstUWodVi5G
+k0v2L/P9lUywCaYuqsskVAc6usgEbxnnXh/cUBU0o6U=
+-----END RSA PRIVATE KEY-----

=== added file 'mysql-test/std_data/server.cert'
--- a/mysql-test/std_data/server.cert	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/server.cert	2009-09-24 09:40:39 +0000
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICHzCCAYgCAQEwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQ04xEDAOBgNV
+BAgTB0JlaWppbmcxEDAOBgNVBAcTB0JlaWppbmcxDjAMBgNVBAoTBU15U1FMMRQw
+EgYDVQQLEwtSZXBsaWNhdGlvbjAeFw0wOTAxMjAwMjE3MzlaFw0zNjA2MDcwMjE3
+MzlaMFkxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMQ4wDAYDVQQKEwVN
+eVNRTDEUMBIGA1UECxMLUmVwbGljYXRpb24xEjAQBgNVBAMTCTEyNy4wLjAuMTCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzUYoyAyozyGuvSjFDrrQ0qCLdAnu
+KXuAYz9uX5u1zWw/OT2PO/Tyy/oZFWjE4CkqgCrdgE4ifobYo/YMZsy1QXFdcoXk
+R1cxkggLTpByUr9Wp7VjnjmwNtgih1M58s5pwNwqU6kFaKTDdEFUbVCD8EfPjhOc
+7E/r2XXcs7pmsOcCAwEAATANBgkqhkiG9w0BAQUFAAOBgQAvZXHAOMckaHIZgLHW
+4HlHW1f3SSU/OROHPfmaiC0+hh4CKZzpTrSIpAuS+xJ7njuMj9uEog3fWo+FG9Ya
+k7NA8Njf6hGWpxJ5LQ8lT3oMtsAvOTDVM54Buep7QK7TaxuT+iBM/Ied4kRxpz6h
+ZcVD84zcjM/agDWeFs1gmpvWNw==
+-----END CERTIFICATE-----

=== added file 'mysql-test/std_data/server.key'
--- a/mysql-test/std_data/server.key	1970-01-01 00:00:00 +0000
+++ b/mysql-test/std_data/server.key	2009-09-24 09:40:39 +0000
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDNRijIDKjPIa69KMUOutDSoIt0Ce4pe4BjP25fm7XNbD85PY87
+9PLL+hkVaMTgKSqAKt2ATiJ+htij9gxmzLVBcV1yheRHVzGSCAtOkHJSv1antWOe
+ObA22CKHUznyzmnA3CpTqQVopMN0QVRtUIPwR8+OE5zsT+vZddyzumaw5wIDAQAB
+AoGARWmRBryJJKl+Hga4Q9fWHzMclNt6xlo1utnLJ9dOba1J38A6PAsDQwhKDRxF
+XottDLPx/J3vOhu9DAx6exSDwYcEzcx2EDKfND+2W3e/QvIFwSVoFYR9bQVP1G0s
+Lc+M25HThGtHL89d2RzQJKg1aGJfgPSY5ZXLeTdjmqO88AkCQQD0/BWWkZiOeIdQ
+dWgbY28rBCPoU/5Ka/mJLJAF6SCGjFDv5JclATAPdpVfQroKK0cf8iyPoB/rczVz
+dM59DAKrAkEA1oD7g+d2cBqoAfvduQ4qLkzRXqJtHIzlAmKu6xJuISiddsEzEBk1
+rWPIrzQYoF5z81cEkYQx+5dwDQYnt2pqtQJBAIVApIFsmj1MQ9W4trLHCA2ux9Uz
+8ooKZwV87q24W0+z/MYvYSLonXqbtq3E/qpPVfWDZUeOAi6wUK+HJlWP9dcCQGzY
+9shwZAFvBWI8VL7bGTx1bqj+8y9Rr8QOH4TZzVi2K3FfiHHa2QorYGLHpNd8Foqc
+1Yyh8Fsi9ZEmVnEUZyECQCuMoWKtt1c0Ms8llgpjA0OCcm5pVGUpRtebMjs58A9K
+gSnC2agdIT4pUyHf/sN+ok1Zob9TlqMAIPFryOB15Ec=
+-----END RSA PRIVATE KEY-----

=== modified file 'mysql-test/suite/rpl/r/rpl_ssl1.result'
--- a/mysql-test/suite/rpl/r/rpl_ssl1.result	2008-07-17 19:11:37 +0000
+++ b/mysql-test/suite/rpl/r/rpl_ssl1.result	2009-09-24 09:40:39 +0000
@@ -13,7 +13,7 @@ insert into t1 values (1);
 select * from t1;
 t
 stop slave;
-change master to master_ssl=1 , master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem';
+change master to master_ssl=1 , master_ssl_ca ='MYSQL_TEST_DIR/std_data/ca.cert', master_ssl_cert='MYSQL_TEST_DIR/std_data/client.cert', master_ssl_key='MYSQL_TEST_DIR/std_data/client.key';
 start slave;
 select * from t1;
 t
@@ -46,11 +46,11 @@ Until_Condition	None
 Until_Log_File	
 Until_Log_Pos	0
 Master_SSL_Allowed	Yes
-Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/cacert.pem
+Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/ca.cert
 Master_SSL_CA_Path	
-Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client-cert.pem
+Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client.cert
 Master_SSL_Cipher	
-Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
+Master_SSL_Key	MYSQL_TEST_DIR/std_data/client.key
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
@@ -92,11 +92,11 @@ Until_Condition	None
 Until_Log_File	
 Until_Log_Pos	0
 Master_SSL_Allowed	No
-Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/cacert.pem
+Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/ca.cert
 Master_SSL_CA_Path	
-Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client-cert.pem
+Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client.cert
 Master_SSL_Cipher	
-Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
+Master_SSL_Key	MYSQL_TEST_DIR/std_data/client.key
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	No
 Last_IO_Errno	#
@@ -107,11 +107,11 @@ Replicate_Ignore_Server_Ids	
 Master_Server_Id	1
 stop slave;
 change master to
-master_host="localhost",
+master_host="127.0.0.1",
 master_ssl=1 ,
-master_ssl_ca ='MYSQL_TEST_DIR/std_data/cacert.pem',
-master_ssl_cert='MYSQL_TEST_DIR/std_data/client-cert.pem',
-master_ssl_key='MYSQL_TEST_DIR/std_data/client-key.pem',
+master_ssl_ca ='MYSQL_TEST_DIR/std_data/ca.cert',
+master_ssl_cert='MYSQL_TEST_DIR/std_data/client.cert',
+master_ssl_key='MYSQL_TEST_DIR/std_data/client.key',
 master_ssl_verify_server_cert=1;
 start slave;
 create table t1 (t int);
@@ -122,7 +122,7 @@ t
 1
 show slave status;
 Slave_IO_State	#
-Master_Host	localhost
+Master_Host	127.0.0.1
 Master_User	root
 Master_Port	MASTER_MYPORT
 Connect_Retry	1
@@ -148,11 +148,11 @@ Until_Condition	None
 Until_Log_File	
 Until_Log_Pos	0
 Master_SSL_Allowed	Yes
-Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/cacert.pem
+Master_SSL_CA_File	MYSQL_TEST_DIR/std_data/ca.cert
 Master_SSL_CA_Path	
-Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client-cert.pem
+Master_SSL_Cert	MYSQL_TEST_DIR/std_data/client.cert
 Master_SSL_Cipher	
-Master_SSL_Key	MYSQL_TEST_DIR/std_data/client-key.pem
+Master_SSL_Key	MYSQL_TEST_DIR/std_data/client.key
 Seconds_Behind_Master	#
 Master_SSL_Verify_Server_Cert	Yes
 Last_IO_Errno	#

=== added file 'mysql-test/suite/rpl/t/rpl_ssl1.cnf'
--- a/mysql-test/suite/rpl/t/rpl_ssl1.cnf	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_ssl1.cnf	2009-09-24 09:40:39 +0000
@@ -0,0 +1,15 @@
+!include ../my.cnf
+[mysqld.1]
+ssl-ca=../../../std_data/ca.cert
+ssl-cert=../../../std_data/server.cert
+ssl-key=../../../std_data/server.key
+
+[mysqld.2]
+ssl-ca=../../../std_data/ca.cert
+ssl-cert=../../../std_data/server.cert
+ssl-key=../../../std_data/server.key
+
+[mysqltest]
+ssl-ca=../../../std_data/ca.cert
+ssl-cert=../../../std_data/client.cert
+ssl-key=../../../std_data/client-key.pem

=== modified file 'mysql-test/suite/rpl/t/rpl_ssl1.test'
--- a/mysql-test/suite/rpl/t/rpl_ssl1.test	2008-06-22 20:05:19 +0000
+++ b/mysql-test/suite/rpl/t/rpl_ssl1.test	2009-09-24 09:40:39 +0000
@@ -32,7 +32,7 @@ select * from t1;
 stop slave;
 --source include/wait_for_slave_to_stop.inc
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
-eval change master to master_ssl=1 , master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem', master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem', master_ssl_key='$MYSQL_TEST_DIR/std_data/client-key.pem';
+eval change master to master_ssl=1 , master_ssl_ca ='$MYSQL_TEST_DIR/std_data/ca.cert', master_ssl_cert='$MYSQL_TEST_DIR/std_data/client.cert', master_ssl_key='$MYSQL_TEST_DIR/std_data/client.key';
 start slave;
 --source include/wait_for_slave_to_start.inc
 
@@ -70,11 +70,11 @@ stop slave;
 --source include/wait_for_slave_to_stop.inc
 --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
 eval change master to
- master_host="localhost",
+ master_host="127.0.0.1",
  master_ssl=1 ,
- master_ssl_ca ='$MYSQL_TEST_DIR/std_data/cacert.pem',
- master_ssl_cert='$MYSQL_TEST_DIR/std_data/client-cert.pem',
- master_ssl_key='$MYSQL_TEST_DIR/std_data/client-key.pem',
+ master_ssl_ca ='$MYSQL_TEST_DIR/std_data/ca.cert',
+ master_ssl_cert='$MYSQL_TEST_DIR/std_data/client.cert',
+ master_ssl_key='$MYSQL_TEST_DIR/std_data/client.key',
  master_ssl_verify_server_cert=1;
 start slave;
 --source include/wait_for_slave_to_start.inc


Attachment: [text/bzr-bundle] bzr/li-bing.song@sun.com-20090924094039-ysgp4c5v7nklrcua.bundle
Thread
bzr commit into mysql-5.4 branch (Li-Bing.Song:2817) Bug#42984Li-Bing.Song24 Sep
  • Re: bzr commit into mysql-5.4 branch (Li-Bing.Song:2817) Bug#42984Daogang Qu28 Sep