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

Slave status does not always show SQL Error/Errno for slave with parallel threads

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.0.6
    • Component/s: None
    • Labels:
      None

      Description

      In the following test case, the replication in fact aborts with

      131101  0:33:44 [ERROR] Slave SQL: The incident LOST_EVENTS occured on the master. Message: error writing to the binary log, Internal MariaDB error code: 1590

      It's expected, no matter whether it's with the parallel replication or not. But if the test runs with slave-parallel-threads>0, SHOW SLAVE STATUS output does not show the error. We can only see that SQL thread is not running, but Last_SQL_Error is empty and Last_SQL_Errno is 0.

      --source include/master-slave.inc
      --source include/have_binlog_format_mixed.inc
       
      SET GLOBAL max_binlog_stmt_cache_size = 4096;
      SET GLOBAL binlog_stmt_cache_size = 4096;
       
      --let $val = `SELECT REPEAT('x',12000)`
       
      CREATE TABLE t1 (pk INT PRIMARY KEY, data VARCHAR(12000)) ENGINE=MyISAM;
       
      INSERT INTO t1 VALUES (1, 'a');
      INSERT INTO t1 VALUES (2, 'b');
      INSERT INTO t1 VALUES (3, 'c');
      INSERT INTO t1 VALUES (4, 'd');
      --error ER_STMT_CACHE_FULL
      eval INSERT INTO t1 VALUES (5,'$val');
       
      SHOW BINLOG EVENTS;
       
      # Have to use sleep instead of sync_slave_with_master, because the latter hangs
       
      sleep 2;
       
      --connection slave
      query_vertical show slave status;

      Output:

      ERROR HY000: Multi-row statements required more than 'max_binlog_stmt_cache_size' bytes of storage; increase this mysqld variable and try again
      SHOW BINLOG EVENTS;
      Log_name	Pos	Event_type	Server_id	End_log_pos	Info
      master-bin.000001	4	Format_desc	1	248	Server ver: 10.0.3-MariaDB-debug-log, Binlog ver: 4
      master-bin.000001	248	Gtid_list	1	273	[]
      master-bin.000001	273	Binlog_checkpoint	1	313	master-bin.000001
      master-bin.000001	313	Gtid	1	351	GTID 0-1-1
      master-bin.000001	351	Query	1	485	use `test`; CREATE TABLE t1 (pk INT PRIMARY KEY, data VARCHAR(12000)) ENGINE=MyISAM
      master-bin.000001	485	Gtid	1	523	BEGIN GTID 0-1-2
      master-bin.000001	523	Query	1	616	use `test`; INSERT INTO t1 VALUES (1, 'a')
      master-bin.000001	616	Query	1	685	COMMIT
      master-bin.000001	685	Gtid	1	723	BEGIN GTID 0-1-3
      master-bin.000001	723	Query	1	816	use `test`; INSERT INTO t1 VALUES (2, 'b')
      master-bin.000001	816	Query	1	885	COMMIT
      master-bin.000001	885	Gtid	1	923	BEGIN GTID 0-1-4
      master-bin.000001	923	Query	1	1016	use `test`; INSERT INTO t1 VALUES (3, 'c')
      master-bin.000001	1016	Query	1	1085	COMMIT
      master-bin.000001	1085	Gtid	1	1123	BEGIN GTID 0-1-5
      master-bin.000001	1123	Query	1	1216	use `test`; INSERT INTO t1 VALUES (4, 'd')
      master-bin.000001	1216	Query	1	1285	COMMIT
      master-bin.000001	1285	Incident	1	1338	#1 (LOST_EVENTS)
      show slave status;
      Slave_IO_State	Waiting for master to send event
      Master_Host	127.0.0.1
      Master_User	root
      Master_Port	16000
      Connect_Retry	1
      Master_Log_File	master-bin.000001
      Read_Master_Log_Pos	1338
      Relay_Log_File	slave-relay-bin.000002
      Relay_Log_Pos	1573
      Relay_Master_Log_File	master-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	0
      Last_Error	
      Skip_Counter	0
      Exec_Master_Log_Pos	1285
      Relay_Log_Space	1626
      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	No

      revision-id: knielsen@knielsen-hq.org-20131031131141-779d29fvc3j45lvy
      revno: 3691
      branch-nick: 10.0-knielsen

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: