Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-4329

CHANGE MASTER ... master_gtid_pos='' does not reset the position

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      I'm trying to tweak the test case initially described in MDEV-4325 to make it work. As discussed in the comments (https://mariadb.atlassian.net/browse/MDEV-4325?focusedCommentId=30821&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-30821), I'm now setting master_gtid_pos='' after slave reset. It still does not seem to work:

      [connection master]
      RESET MASTER;
      include/stop_slave.inc
      RESET SLAVE ALL;
      CHANGE MASTER TO master_host='127.0.0.1', master_port=16000, master_user='root', master_gtid_pos=auto;
      include/start_slave.inc
      CREATE TABLE t1 (i INT);
      include/stop_slave.inc
      DROP TABLE t1;
      RESET SLAVE;
      CHANGE MASTER TO master_gtid_pos='';
      ####################################################
      # We have set master_gtid_pos to '', so it's 
      # expected to be empty now (and it is)
      ####################################################
      SHOW ALL SLAVES STATUS;
      Connection_name	
      Slave_SQL_State	
      Slave_IO_State	
      Master_Host	127.0.0.1
      Master_User	root
      Master_Port	16000
      Connect_Retry	1
      Master_Log_File	
      Read_Master_Log_Pos	0
      Relay_Log_File	slave-relay-bin.000001
      Relay_Log_Pos	4
      Relay_Master_Log_File	
      Slave_IO_Running	No
      Slave_SQL_Running	No
      Replicate_Do_DB	
      Replicate_Ignore_DB	
      Replicate_Do_Table	
      Replicate_Ignore_Table	
      Replicate_Wild_Do_Table	
      Replicate_Wild_Ignore_Table	
      Last_Errno	0
      Last_Error	
      Skip_Counter	0
      Exec_Master_Log_Pos	0
      Relay_Log_Space	248
      Until_Condition	None
      Until_Log_File	
      Until_Log_Pos	0
      Master_SSL_Allowed	No
      Master_SSL_CA_File	
      Master_SSL_CA_Path	
      Master_SSL_Cert	
      Master_SSL_Cipher	
      Master_SSL_Key	
      Seconds_Behind_Master	NULL
      Master_SSL_Verify_Server_Cert	No
      Last_IO_Errno	0
      Last_IO_Error	
      Last_SQL_Errno	0
      Last_SQL_Error	
      Replicate_Ignore_Server_Ids	
      Master_Server_Id	1
      Using_Gtid	1
      Retried_transactions	0
      Max_relay_log_size	1073741824
      Executed_log_entries	16
      Slave_received_heartbeats	0
      Slave_heartbeat_period	60.000
      Gtid_Pos	
      ####################################################
      # But it still claims we are using an invalid value 
      ####################################################
      include/start_slave.inc
      SHOW SLAVE STATUS;
      Slave_IO_State	
      Master_Host	127.0.0.1
      Master_User	root
      Master_Port	16000
      Connect_Retry	1
      Master_Log_File	
      Read_Master_Log_Pos	0
      Relay_Log_File	slave-relay-bin.000001
      Relay_Log_Pos	4
      Relay_Master_Log_File	
      Slave_IO_Running	No
      Slave_SQL_Running	Yes
      Replicate_Do_DB	
      Replicate_Ignore_DB	
      Replicate_Do_Table	
      Replicate_Ignore_Table	
      Replicate_Wild_Do_Table	
      Replicate_Wild_Ignore_Table	
      Last_Errno	0
      Last_Error	
      Skip_Counter	0
      Exec_Master_Log_Pos	0
      Relay_Log_Space	248
      Until_Condition	None
      Until_Log_File	
      Until_Log_Pos	0
      Master_SSL_Allowed	No
      Master_SSL_CA_File	
      Master_SSL_CA_Path	
      Master_SSL_Cert	
      Master_SSL_Cipher	
      Master_SSL_Key	
      Seconds_Behind_Master	NULL
      Master_SSL_Verify_Server_Cert	No
      Last_IO_Errno	1236
      Last_IO_Error	Got fatal error 1236 from master when reading data from binary log: 'Error: connecting slave requested to start from GTID 0-2-2, which is not in the master's binlog'
      Last_SQL_Errno	0
      Last_SQL_Error	
      Replicate_Ignore_Server_Ids	
      Master_Server_Id	1
      Using_Gtid	1

      Test case:

      --source include/master-slave.inc
      --source include/have_xtradb.inc
      --source include/have_binlog_format_mixed.inc
       
      RESET MASTER;
       
      --connection slave
      --source include/stop_slave.inc
      RESET SLAVE ALL;
      eval CHANGE MASTER TO master_host='127.0.0.1', master_port=$MASTER_MYPORT, 
           master_user='root', master_gtid_pos=auto;
      --source include/start_slave.inc
       
      --connection master
      CREATE TABLE t1 (i INT);
      --save_master_pos
       
      --sync_slave_with_master
      --source include/stop_slave.inc
      DROP TABLE t1;
      RESET SLAVE;
      # We can optionally delete the contents of the table,
      # it doesn't help anyway
      # DELETE FROM mysql.rpl_slave_state;
      eval CHANGE MASTER TO master_gtid_pos='';
       
      --echo ####################################################
      --echo # We have set master_gtid_pos to '', so it's 
      --echo # expected to be empty now (and it is)
      --echo ####################################################
      query_vertical SHOW ALL SLAVES STATUS;
       
      --echo ####################################################
      --echo # But it still claims we are using an invalid value 
      --echo ####################################################
       
      --source include/start_slave.inc
      --sleep 1
      query_vertical SHOW SLAVE STATUS;

      revision-id: knielsen@knielsen-hq.org-20130322102628-hxohewmbfyd1wig6
      revno: 3538
      branch-nick: 10.0-mdev26

      Attachments

        Issue Links

          Activity

            People

              knielsen Kristian Nielsen
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.