From: He Zhenxing Date: April 21 2009 9:40am Subject: bzr commit into mysql-6.0-rpl branch (zhenxing.he:2845) Bug#12190 List-Archive: http://lists.mysql.com/commits/72555 X-Bug: 12190 Message-Id: <200904210940.n3L9efUV028128@hezx-dev.localdomain> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5797217345185539460==" --===============5797217345185539460== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///media/sdb2/hezx/work/mysql/bzrwork/b12190/6.0-rpl/ based on revid:alfranio.correia@stripped 2845 He Zhenxing 2009-04-21 BUG#12190 CHANGE MASTER has differ path requiremts on MASTER_LOG_FILE and RELAY_LOG_FILE CHANGE MASTER TO command required the value for RELAY_LOG_FILE to be an absolute path, which was different from the requirement of MASTER_LOG_FILE. This patch fixed the problem by changing the value for RELAY_LOG_FILE to be the basename of the log file as that for MASTER_LOG_FILE. M mysql-test/include/setup_fake_relay_log.inc M mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test M mysql-test/suite/rpl/r/rpl_change_master.result M mysql-test/suite/rpl/t/rpl_change_master.test M sql/sql_repl.cc === modified file 'mysql-test/include/setup_fake_relay_log.inc' --- a/mysql-test/include/setup_fake_relay_log.inc 2009-02-09 13:17:04 +0000 +++ b/mysql-test/include/setup_fake_relay_log.inc 2009-04-21 09:40:24 +0000 @@ -69,7 +69,7 @@ let $_fake_relay_log_purge= `SELECT @@gl # Create relay log file. copy_file $fake_relay_log $_fake_relay_log; # Create relay log index. ---exec echo $_fake_filename-fake.000001 > $_fake_relay_index +--exec echo ./$_fake_filename-fake.000001 > $_fake_relay_index # Setup replication from existing relay log. eval CHANGE MASTER TO MASTER_HOST='dummy.localdomain', RELAY_LOG_FILE='$_fake_filename-fake.000001', RELAY_LOG_POS=4; === modified file 'mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test' --- a/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test 2009-03-06 18:19:29 +0000 +++ b/mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test 2009-04-21 09:40:24 +0000 @@ -26,7 +26,7 @@ let $MYSQLD_DATADIR= `select @@datadir`; copy_file $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 $MYSQLD_DATADIR/slave-relay-bin.000001; write_file $MYSQLD_DATADIR/slave-relay-bin.index; -slave-relay-bin.000001 +./slave-relay-bin.000001 EOF change master to === modified file 'mysql-test/suite/rpl/r/rpl_change_master.result' --- a/mysql-test/suite/rpl/r/rpl_change_master.result 2008-07-17 19:11:37 +0000 +++ b/mysql-test/suite/rpl/r/rpl_change_master.result 2009-04-21 09:40:24 +0000 @@ -100,3 +100,20 @@ n 1 2 drop table t1; +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +create table t1 (a int); +insert into t1 values (1); +flush logs; +insert into t1 values (2); +include/stop_slave.inc +delete from t1 where a=2; +CHANGE MASTER TO relay_log_file='slave-relay-bin.000005', relay_log_pos=4; +start slave sql_thread; +start slave io_thread; +set global relay_log_purge=1; +drop table t1; === modified file 'mysql-test/suite/rpl/t/rpl_change_master.test' --- a/mysql-test/suite/rpl/t/rpl_change_master.test 2008-06-22 20:05:19 +0000 +++ b/mysql-test/suite/rpl/t/rpl_change_master.test 2009-04-21 09:40:24 +0000 @@ -31,3 +31,56 @@ drop table t1; sync_slave_with_master; # End of 4.1 tests + +# +# BUG#12190 CHANGE MASTER has differ path requiremts on MASTER_LOG_FILE and RELAY_LOG_FILE +# + +source include/master-slave-reset.inc; + +connection master; +create table t1 (a int); +insert into t1 values (1); +flush logs; +insert into t1 values (2); + +# Note: the master positon saved by this will also be used by the +# 'sync_with_master' below. +sync_slave_with_master; + +# Check if the table t1 and t2 are identical on master and slave; +let $diff_table_1= master:test.t1 +let $diff_table_2= slave:test.t1 +source include/diff_tables.inc; + +connection slave; +source include/stop_slave.inc; +delete from t1 where a=2; + +# start replication from the second insert, after fix of BUG#12190, +# relay_log_file does not use absolute path, only the filename is +# required +# +# Note: the follow change master will automatically reset +# relay_log_purge to false, save the old value to restore +let $relay_log_purge= `select @@global.relay_log_purge`; +CHANGE MASTER TO relay_log_file='slave-relay-bin.000005', relay_log_pos=4; +start slave sql_thread; +source include/wait_for_slave_sql_to_start.inc; + +# Sync to the same position saved by the 'sync_slave_with_master' above. +sync_with_master; + +# Check if the table t1 and t2 are identical on master and slave; +let $diff_table_1= master:test.t1 +let $diff_table_2= slave:test.t1 +source include/diff_tables.inc; + +# clean up +connection slave; +start slave io_thread; +source include/wait_for_slave_io_to_start.inc; +eval set global relay_log_purge=$relay_log_purge; +connection master; +drop table t1; +sync_slave_with_master; === modified file 'sql/sql_repl.cc' --- a/sql/sql_repl.cc 2009-04-13 13:24:28 +0000 +++ b/sql/sql_repl.cc 2009-04-21 09:40:24 +0000 @@ -1513,9 +1513,11 @@ bool change_master(THD* thd, Master_info if (lex_mi->relay_log_name) { need_relay_log_purge= 0; - strmake(mi->rli->group_relay_log_name,lex_mi->relay_log_name, + char relay_log_name[FN_REFLEN]; + mi->rli->relay_log.make_log_name(relay_log_name, lex_mi->relay_log_name); + strmake(mi->rli->group_relay_log_name, relay_log_name, sizeof(mi->rli->group_relay_log_name)-1); - strmake(mi->rli->event_relay_log_name,lex_mi->relay_log_name, + strmake(mi->rli->event_relay_log_name, relay_log_name, sizeof(mi->rli->event_relay_log_name)-1); } --===============5797217345185539460== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/zhenxing.he@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: zhenxing.he@stripped # target_branch: file:///media/sdb2/hezx/work/mysql/bzrwork/b12190\ # /6.0-rpl/ # testament_sha1: a24c0c9eb661b39a232996b0b39e94c82e215ddd # timestamp: 2009-04-21 17:40:41 +0800 # base_revision_id: alfranio.correia@stripped\ # cq15ruso4xfhget8 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWTMm1I0ABPLfgGAQXef//3vn njr////wYAwXPrpt9jhAABARRQAAAoGrZQBDURo00hiGTQ00GgGjQAAAAADVPUI00aGmmNTQaGgD QAA0aAyDIHDTTIxGE0wEMAmmEYJiZDTI0NAJERNCp6bU1PahpqJsp6nhT1PUPKGnqNDR5QNPTJqD alPUmUek9NRoNppD1NGmRkDEDRoBoGQCSQIARhNDQEAaImIho0YhoZB6k9EAgFqYOaIOLGRMTLbA I8joyTHiGpNKFIVmZEqWSrHHlaRtZeHhOBqTE1DfoyjPicaS7unNgFHrggB9zRrXLsk0nNR6Ffpj K0ML2XmcGDkvgCdsPg9YKIX5I/rTtzCtZdBZI5IZhkzMyZj9f0QZ1xnbjZwutzIN9laOK0hcNYoy Xa6Iv0+qhBvI0HhJxBIJaSNxFFop4PCa4QGA0DKFdCPLBPn1razQIu84I75ggoavCNjPHiIJ0M4S QqaoE/AqFqLheBgQbSC67Qw1T1WJNhjlZFIKpve3i4oybGEZW0mjXoRmyNNw6qoNQ3ZqyRIsYKg2 mseSJxwMViIWhi5GSpnWQVQOmOgPrCcwymQ74DZQ205VhuVIDQ2FVYq4el1xrMVi89ElsViq01SG CkRBX4HSDjA7zq5BQtK06rKA9BYq7XaDsR5a53BjsM6RIyNxWex8SswbiWbywOpieAwI9NnBLiuK vX7qcLbbiGRES8AzdAN1QWycU7DZSWlnj8K+G6jbBi7VPsUGBhB6BuSUzV+TcxOZZyDPS+vIVl2o 5qMJDR6oRuosAcTBvjYegmkYUlHraLqAyDYQGZEISkaseVKE7S4S28dJqGJgSSrVEFDRS+3XEXFB Ngi68sYiUCeBeYF5yGByYo6Svt1CMdgoUwB+QywKSaVAl3xC0NZFwPJMh3yX2YUeJtKW1GVVRV/I HRHmwUCgKrUSITmKjsLAmpnvTiuY3ODwiX/O11Z0oxVFdtss/Zv2MheW0+SKxkHv745j+9z9RWQj pzIGMEqmELZt4qoyGVJdASdmuZTo6YS3RovvToFnErVL+WsoH8pyieHKgjRIYssA4HAkVjFRqORo ehhjw8WO84Tas/+Y6jJ8JjUsSU5aTg4HQcMpFDnkCMLoDtZOUlRQnD3BrIFJeS5iX1zOGRz1a58C 8twHZiTNiViTrzEYURA+I3cUKI8VA1xQQKjScpOyyG2i4E5Aw1BYWG08DptPqfa4fn9fNWbt+e+6 +GzvPUrJB1POcJmVWqoke3HvOc/PTmpzDoYjyeRWUHHgUdW+J5ElPRSn7zaPP45l0i5gzhLK80iT E5kT1y3XrUlOa1kfTuKj2XD0NI9ZjLnv27yEB9xm8zNptlEZddu38NhOSKlSVbhvQkaDjWaJTmzY VlRgThOVHy3HY3nlw00nyWsqh4YxeS4EWE0Ea9Y46Tg42Dp2TPJhipRdSVGZMVtPtcFmQ6hmVZMC KzhMWyIrinOAKx3SyW8tH9CvWPNCRExMSARHngJYlxaxFa04c5LBJ9gssgJUFAx+GJWfRJ8q+d1r O5lpm5HOVMa6paegpfmdnafQxH0svuNJxRLYXjg0aJJGQ2IfIiCA4TI6PzFyzNYLfPSadaVO7ssq 4gxL+0fBB8AzKNNDY97E/WVAVXvQ0T3oj4oP0At5+S8Uf4B4I4PiBYPECMAMktL8UXVk3FpAoi1A gLkEeSBq/2qgTnkw1gfJZjZT+FXl6BeR0KqrU9kQhogj3LlogaTaS9xAmvfYAxvqGGFFz31KLBpX H1HYo1kVVT94oDk0ZDLD/J+P0LQX0B/zHnyP5k5/kJVETUJRV9iKz7cj+quMCeBkB+R+qiMwWn5n 3NbV7sYSmrnS4FjJKsvjfc4uYNiB4aH3PgaxKcB5hT04CRRl2IwjLpVvmDJghjELn/07jvO81Drj mcDuVfE5R6cDIqOp7UH9qCA+0SmPwR35/4qBamNMCwe6ZxjyosDrrSVrjghx4l5QReYDxxIYsMSS RA8A/FTH9yQx4i0KB5nsMKa2vwFtd+mOxiVLARJqSRQjfCQ5zexVC9c3GXo2ERQYMTO/qiZ5QwZG 82EzznQlOloOrMAwEqiJ1LDeWG7yvNALSorttKD3D8yoW9bhu+oG3c2/Jx6bt8WExedSRA4C7HaY tc6Yc4IEhQHlEJUPgeO/1KUrLCofwrRJhyViJ6P03nMrn9bZSucXi1GonL2SbsHFsBP1jKtJd3qi hpSB+ThUzgPYTBAeD6gok4nLj7PI4TFBjRqCl8DXRDIwGPb4d0cMzcMPElXoYKGqIsx0me8ZGqYZ OQXgDB0PAcjctoyRNpcJPQTka2ZGdJWMcg6XFpauDTFYhnFMkMKKcOXX8ogsBK+8Sm7citIfTXaW nRzinu6oHOY3HbQafly7HrAYYmKCBwF0MfgjJ5I7yQqBlhekuxz8V1Kq/2R0Q4ekzDjhzo8znRME 4y4lpzB4Z7q86J2YZJMfM8LWekjQ2D+s16KxDhObxQ3qXH9qIeVZ/7v7HfvuMhzDZYqo4j+skSmB QHCNRB7AGXySW78j680l9DYvcd+NOBbr4HoJRFQYngCf3LvB3xPUKHqPc+f18xLeepOOD4JLZ6mo SNhIlmvsXACqCxZOUAGfsxZJTA8JJfv93vvBifrWJkjv6ojmQ8AVh7EleiJw35Hzgjhju3ZlfidA 4e5BBakqVmBzLMTuiTIn6JgdJLfpECKZlABdRC7TVJYgMkwMLVF7xjkh5xnmDcqnRU5TpDYqMAuT JAzjbfTMT9rwjeBFLQsH/rrlZA0rmDOhySPpQvHS8MD7mE4ZMoqbUIKg+BN47SyRT5H77I9wlWVT /AXW70NRN8+/n8wrC+RWwhpyVxpBS+DIkVEwqa0nviim16WKEYwkMsyHIHcA39iAgig9fUNTw5RC hFl3hf6/cbXk6O2Q4ZAwMmZBuHJnAHuU6YN2ZKYLHrnsiiK8lbk2u9YkRJOsqJB5JIpY5yKhhlBk KEIOCMWBhgwJ0PQMoB2emDT7zdPWKzaxtLs77CfpSh1IltqecdswTGNDI8/PwSejDqZUipKQ7bzm rkDTeBUcKKR91w1HhSUCsKTvL12L79TfAf5FRZAitpxULaZBWHJWGYmYS21GoAFUQrTpTifAmPY8 SkMDmV5h4pwfbwTMe7xwfwGKqChmJZUEZEHOqsGlTC4qWHo10MpNN5h6OJbJHgtQzpSXQoHV1G0z Xax2Nm4GQcAmxqGF69krhoFU8h7D3PNZYSHyGbzOptDP2pe//VfaxFUuLg44nvtqKBbBWAu2A9EM ErAq/6bpEEDI1YVryLxa0UsNtt4dIRBiY0DWhTZFDNCIvMgLvuNZZT8kgjxL6Bm7pCqi2Dz0BnOE 7ZpsaJGNg5zQDyC8A+p4sfYMfFhTTuGGO6u0syGRY3xEOVgFwnIN81RxHGsvKKlOejJBzkbguC0Q 3XlWFKIiDUETutvJsiYduKGOvyjxYnBslYNPgCimG0HDitkoZp4fLjZRu7bElCunHzRatGBFZr0W fMi4W4VUiwvTG4OWwn2TJRQPY+jCWgxGSn6vBdD54mmohrK/cnErS+co8zIvuZHJH8dlFxWtGBYs O7LuMogESQyRXA28qrovGarco0l4lyOhRJJEth3kbfz0RuOXTMDJwA/Atb47iiridNV/dmLBJefG fYk0bu7hmbl5jSjP/F3JFOFCQMybUjQ= --===============5797217345185539460==--