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

STOP SLAVE behavior with no connection_name doesn't match documentation

    XMLWordPrintable

Details

    Description

      The documentation about STOP SLAVE says the following:

      If there is only one master, or the default master (as specified by the default_master_connection system variable) is intended, connection_name can be omitted. If provided, the STOP SLAVE statement will apply to the specified master. connection_name is case-insensitive.

      https://mariadb.com/kb/en/mariadb/stop-slave/

      Let's say that I have the following slave configured:

      MariaDB [(none)]> show all slaves status\G
      *************************** 1. row ***************************
                    Connection_name: 172-31-19-192
                    Slave_SQL_State: Slave has read all relay log; waiting for the slave I/O thread to update it
                     Slave_IO_State: Waiting for master to send event
                        Master_Host: 172.31.19.192
                        Master_User: repl
                        Master_Port: 3306
                      Connect_Retry: 60
                    Master_Log_File: mariadb-bin.000002
                Read_Master_Log_Pos: 3085
                     Relay_Log_File: ip-172-31-22-174-relay-bin-172@002d31@002d19@002d192.000002
                      Relay_Log_Pos: 2530
              Relay_Master_Log_File: mariadb-bin.000002
                   Slave_IO_Running: Yes
                  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: 3085
                    Relay_Log_Space: 2865
                    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: 0
      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
                     Master_SSL_Crl:
                 Master_SSL_Crlpath:
                         Using_Gtid: Slave_Pos
                        Gtid_IO_Pos: 1-1-10,2-2-6
            Replicate_Do_Domain_Ids:
        Replicate_Ignore_Domain_Ids:
                      Parallel_Mode: conservative
               Retried_transactions: 0
                 Max_relay_log_size: 1073741824
               Executed_log_entries: 52
          Slave_received_heartbeats: 0
             Slave_heartbeat_period: 1800.000
                     Gtid_Slave_Pos: 1-1-10,2-2-6
      1 row in set (0.00 sec)
      

      According to the documentation, I should be able to stop this slave by simply executing STOP SLAVE with no connection_name since there is only one master configured. However, this does not work:

      MariaDB [(none)]> STOP SLAVE;
      Query OK, 0 rows affected, 1 warning (0.00 sec)
       
      MariaDB [(none)]> SHOW WARNINGS;
      +-------+------+--------------------------------+
      | Level | Code | Message                        |
      +-------+------+--------------------------------+
      | Note  | 1255 | Slave already has been stopped |
      +-------+------+--------------------------------+
      1 row in set (0.00 sec)
       
      MariaDB [(none)]> show all slaves status\G
      *************************** 1. row ***************************
                    Connection_name: 172-31-19-192
                    Slave_SQL_State: Slave has read all relay log; waiting for the slave I/O thread to update it
                     Slave_IO_State: Waiting for master to send event
                        Master_Host: 172.31.19.192
                        Master_User: repl
                        Master_Port: 3306
                      Connect_Retry: 60
                    Master_Log_File: mariadb-bin.000002
                Read_Master_Log_Pos: 3085
                     Relay_Log_File: ip-172-31-22-174-relay-bin-172@002d31@002d19@002d192.000002
                      Relay_Log_Pos: 2530
              Relay_Master_Log_File: mariadb-bin.000002
                   Slave_IO_Running: Yes
                  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: 3085
                    Relay_Log_Space: 2865
                    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: 0
      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
                     Master_SSL_Crl:
                 Master_SSL_Crlpath:
                         Using_Gtid: Slave_Pos
                        Gtid_IO_Pos: 1-1-10,2-2-6
            Replicate_Do_Domain_Ids:
        Replicate_Ignore_Domain_Ids:
                      Parallel_Mode: conservative
               Retried_transactions: 0
                 Max_relay_log_size: 1073741824
               Executed_log_entries: 52
          Slave_received_heartbeats: 0
             Slave_heartbeat_period: 1800.000
                     Gtid_Slave_Pos: 1-1-10,2-2-6
      1 row in set (0.00 sec)
      

      Is the documentation incorrect, or is there a problem with the implementation?

      Attachments

        Activity

          People

            greenman Ian Gilfillan
            GeoffMontee Geoff Montee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.