Bug #104590 server_errno=2013 in mysql log for semisync rpl and slave_compressed_protocol
Submitted: 11 Aug 2021 9:21 Modified: 11 Aug 2021 13:10
Reporter: lalit Choudhary Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:5.7.34, 5.7.35 OS:Any
Assigned to: CPU Architecture:Any

[11 Aug 2021 9:21] lalit Choudhary
Description:
enabling slave_compressed_protocol with semi_sync replication slave will result adding folloing error in mysql log on slave for each transaction.

2021-08-11T09:00:30.269186Z 7 [ERROR] Error reading packet from server for channel '': Lost connection to MySQL server during query (server_errno=2013)
2021-08-11T09:00:30.269230Z 7 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql-bin.000001' at position 2933722 for channel ''

Disabling slave_compressed_protocol will stop these errors.

There is no error in show slave status and data is replicating as expected.

How to repeat:

master 
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
set global rpl_semi_sync_master_timeout= 1000;
set global rpl_semi_sync_master_enabled = 1;
show variables like 'rpl_semi_sync_master_enabled';
+------------------------------+-------+
| Variable_name                | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | ON    |
+------------------------------+-------+

slave:
stop slave;
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
set global rpl_semi_sync_slave_enabled = 1;
set global slave_compressed_protocol = 1;
start slave;

create database foo; use foo;
master [localhost] {msandbox} (foo) > create  table aaa (c1 int);
Query OK, 0 rows affected (1.05 sec)

2021-08-11T09:00:30.269186Z 7 [ERROR] Error reading packet from server for channel '': Lost connection to MySQL server during query (server_errno=2013)
2021-08-11T09:00:30.269230Z 7 [Note] Slave I/O thread: Failed reading log event, reconnecting to retry, log 'mysql-bin.000001' at position 2933722 for channel ''
2021-08-11T09:00:30.269247Z 7 [Warning] Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.

slave1 [localhost] {msandbox} (foo) > show tables;
+---------------+
| Tables_in_foo |
+---------------+
| aaa           |
+---------------+
1 row in set (0.00 sec)

slave1 [localhost] {msandbox} (foo) > show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 127.0.0.1
                  Master_User: rsandbox
                  Master_Port: 23609
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 2933885
               Relay_Log_File: mysql-relay.000098
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             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: 2933885
              Relay_Log_Space: 852
              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_UUID: 00023609-1111-1111-1111-111111111111
             Master_Info_File: /home/lalit/sandboxes/rsandbox_mysql-5_7_34/node1/data/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
1 row in set (0.00 sec)
[11 Aug 2021 13:10] MySQL Verification Team
Hello lalit Choudhary,

Thank you for the report and feedback.

regards,
Umesh