Bug #82641 slave's Slave_SQL_Running is stopped during load data at master
Submitted: 19 Aug 2016 3:49 Modified: 14 Nov 2016 18:37
Reporter: 李 源錫 Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S1 (Critical)
Version:5.6.32 OS:CentOS (6.4)
Assigned to: CPU Architecture:Any

[19 Aug 2016 3:49] 李 源錫
Description:
Slave_SQL_Running is stopped during load data at master.
Master mysql version is mysql5.6.11.

this problems occured at lasted mysql5.6.32.
no problem at mysql5.6.31.

How to repeat:
1. at master
[work]# cat test1.sql 
SET character_set_database=utf8;

warnings;

LOAD DATA INFILE '/tmp/test1.data' REPLACE INTO TABLE test1 FIELDS TERMINATED BY ',' (c1,c2);
[work]# cat /tmp/test1.data
test,\2
[root@sun16 work]# 

[work]# mysql -uroot -p test 
mysql> select version();
+------------+
| version()  |
+------------+
| 5.6.11-log |

+------------+

mysql> show create table test1\G
*************************** 1. row ***************************
       Table: test1
Create Table: CREATE TABLE `test1` (
  `c1` varchar(100) DEFAULT NULL,
  `c2` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

mysql> source test1.sql
Query OK, 0 rows affected (0.00 sec)

Show warnings enabled.
Query OK, 1 row affected (0.01 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |    22579 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

2.at slave
mysql> select version();
+------------+
| version()  |
+------------+
| 5.6.32-log |
+------------+

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: server1
                  Master_User: repl
                  Master_Port: 3307
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 22579
               Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 22352
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            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: 1300
                   Last_Error: Error 'Invalid utf8 character string: ''' on query. Default database: 'test'. Query: 'LOAD DATA INFILE '/tmp/SQL_LOAD-4bb3ce89-6567-11e6-a817-984be16e5ae4-2-25.data' REPLACE INTO  TABLE `test1` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`)'
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 22189
              Relay_Log_Space: 22909
              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: 1300
               Last_SQL_Error: Error 'Invalid utf8 character string: ''' on query. Default database: 'test'. Query: 'LOAD DATA INFILE '/tmp/SQL_LOAD-4bb3ce89-6567-11e6-a817-984be16e5ae4-2-25.data' REPLACE INTO  TABLE `test1` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`)'
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 2
                  Master_UUID: 7fadf101-61c7-11e6-9076-984be16e5ae4
             Master_Info_File: /var/lib/mysql5.6.32/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: 
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 160819 12:36:50
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
[19 Aug 2016 4:12] 李 源錫
test1.data

Attachment: test1.data (application/octet-stream, text), 11 bytes.

[19 Aug 2016 4:12] 李 源錫
test1.sql

Attachment: test1.sql (application/octet-stream, text), 139 bytes.

[19 Aug 2016 4:16] 李 源錫
I think that any default interanl slave mode option may be changed strictly at mysql 5.6.32.
[19 Aug 2016 6:42] MySQL Verification Team
Hello!

Thank you for the report and test case.
Observed this when replicating from 5.6.21 to 5.6.32.

Thanks,
Umesh
[19 Aug 2016 6:42] MySQL Verification Team
test results

Attachment: 82641.results (application/octet-stream, text), 9.81 KiB.

[28 Aug 2016 17:28] MySQL Verification Team
Bug #82755 marked as duplicate of this
[14 Nov 2016 18:37] Paul DuBois
Posted by developer:
 
Noted in 5.5.54, 5.6.35, 5.7.17 changelogs.

A change made in MySQL 5.5.51 (5.6.32, 5.7.8) for handling of multibyte character
sets by LOAD DATA was reverted due to the replication incompatibility
that it caused.