[MDEV-8345] STOP SLAVE should not cause an ERROR to be logged to the error log Created: 2015-06-20  Updated: 2016-10-26  Resolved: 2016-10-26

Status: Closed
Project: MariaDB Server
Component/s: Replication
Affects Version/s: 10.0.19, 10.1.5
Fix Version/s: 10.0.28, 10.1.19

Type: Bug Priority: Major
Reporter: Chris Calender (Inactive) Assignee: Sergei Golubchik
Resolution: Fixed Votes: 1
Labels: upstream-fixed
Environment:

Linux, Windows



 Description   

If you issue a STOP SLAVE on any slave (tested on 10.0.19 and 10.1.5), you will see an "ERROR" logged to the error log:

mysql> select version();
+----------------+
| version()      |
+----------------+
| 10.1.5-MariaDB |
+----------------+
1 row in set (0.00 sec)
 
mysql> stop slave;
Query OK, 0 rows affected (0.10 sec)

Error log:

015-06-19 16:39:06 2496 [Note] Error reading relay log event: slave SQL thread was killed
2015-06-19 16:39:07 3508 [ERROR] Error reading packet from server: Lost connection to MySQL server during query ( server_errno=2013)
2015-06-19 16:39:07 3508 [Note] Slave I/O thread killed while reading event
2015-06-19 16:39:07 3508 [Note] Slave I/O thread exiting, read up to log 'chris-laptop-bin.000008', position 120

The "[Note]"s are fine, but the "[Error]" is not. It then causes monitoring soulutions (MONyog, et al) to then issue alerts.

The same happens in MySQL, but it is fixed in 5.7.0:

https://bugs.mysql.com/bug.php?id=61275

It would be nice if we could fix this for 10.0 and 10.1, however.



 Comments   
Comment by Elena Stepanova [ 2015-06-20 ]

So-called "internally filed bug", which Bug #61275 refers to, is in fact Bug #53955 - Error 2013 + "Error reading relay log event" on STOP SLAVE in Windows.

Here is the commit comment for this bugfix:

commit 6b24763a834f14e754afca9a259ca6251c4f4b4c 2e8de7fa9dada2d0b881b55a64f3228a2742d7aa
Author: Manish Kumar <manish.4.kumar@oracle.com>
Date:   Tue Mar 27 13:10:42 2012 +0530
 
    BUG#12977988 - ON STOP SLAVE: ERROR READING PACKET FROM SERVER: LOST CONNECTION
                   TO MYSQL SERVER
    BUG#11761457 - ERROR 2013 + "ERROR READING RELAY LOG EVENT" ON STOP SLAVE IN WINDOWS
    
    Problem - on STOP SLAVE, the slave reliably produces the record in the error log
    
              [ERROR] Error reading packet from server: Lost connection to MySQL
                      server during query (server_errno=2013)
    
              There is not negative effect of this error being logged to the error
              log file.
    
    Fix - after execution of STOP SLAVE we check for the value of mi->rli->abort_slave.
          This flag is used to suppress any error or warning messages that we get
          during execution. So if the flag is set it means we can ignore the error and
          do not log it in the error log.

Comment by Michaël de groot [ 2016-05-12 ]

To me (looking at another log) it seams this error pops up before killing the IO thread instead of after killing the SQL thread.

Comment by Elena Stepanova [ 2016-05-12 ]

Did anyone say that it has anything to do with SQL thread? I don't see anything like that here.
The error happens after the command STOP SLAVE (or STOP SLAVE IO_THREAD) is issued, and yes, it's logged right before the message about this thread being actually killed, which happens upon the STOP command.

Generated at Thu Feb 08 07:26:27 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.