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

LP:903798 - slave-skip-errors ignored in RBR mode.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Trivial
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      This looks like a bug that was fixed in Mysql 5.1.35. I just hit it in MariaDB 5.2.10.

      I'm experiencing identical behavior to the bug filed here: http://bugs.mysql.com/bug.php?id=39393

      To replicate the error, I have 1 master, and 1 slave.

      All servers have binlog_format = MIXED and slave-skip-errors=all

      On slave 1, drop a database. Slave 1 will report:

      Last_SQL_Errno: 1146
      Last_SQL_Error: Error 'Table '......' doesn't exist' on opening tables

      -Alex

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              elenst Elena Stepanova added a comment -

              Re: slave-skip-errors ignored in RBR mode.
              Error 'Table .. does not exist' suggests that you are trying a slightly different scenario comparing to the one you described in the original bug. There was no CREATE TABLE hidden from slave, only DML (DELETE).

              I am trying the scenario that you and Sveta described in the MySQL bug, and it works all right for me, both on MariaDB 5.2.10 and MySQL 5.1.60. However, a slightly different one, which involves DDL, fails, also both on MariaDB and MySQL, with the exact error that you mentioned. Something like this:

              SET binlog_format='row';
              SET SQL_LOG_BIN=0;
              CREATE TABLE t ( i INT );
              INSERT INTO t VALUES (1);
              SET SQL_LOG_BIN=1;
              DELETE FROM t;

              1. check slave status, observe error 1146 and slave SQL thread not running.

              Could you please confirm that's what you encountered?

              I suppose this flow has never been fixed, or possibly was broken again. I It fails on MySQL 5.1.60 and 5.1.57, but I don't have older versions to check.

              Show
              elenst Elena Stepanova added a comment - Re: slave-skip-errors ignored in RBR mode. Error 'Table .. does not exist' suggests that you are trying a slightly different scenario comparing to the one you described in the original bug. There was no CREATE TABLE hidden from slave, only DML (DELETE). I am trying the scenario that you and Sveta described in the MySQL bug, and it works all right for me, both on MariaDB 5.2.10 and MySQL 5.1.60. However, a slightly different one, which involves DDL, fails, also both on MariaDB and MySQL, with the exact error that you mentioned. Something like this: SET binlog_format='row'; SET SQL_LOG_BIN=0; CREATE TABLE t ( i INT ); INSERT INTO t VALUES (1); SET SQL_LOG_BIN=1; DELETE FROM t; check slave status, observe error 1146 and slave SQL thread not running. Could you please confirm that's what you encountered? I suppose this flow has never been fixed, or possibly was broken again. I It fails on MySQL 5.1.60 and 5.1.57, but I don't have older versions to check.
              Hide
              elenst Elena Stepanova added a comment -

              Re: slave-skip-errors ignored in RBR mode.

              1. MTR test case:
              1. Run with -mysqld=-slave-skip-errors=all
              2. or -mysqld=-slave-skip-error=1146.
              3. Please note that variations of the flow
              4. that cause error 1032 instead of 1146
              5. work all right.

              --source include/master-slave.inc

              SET binlog_format='row';
              SET SQL_LOG_BIN=0;

              CREATE TABLE t ( i INT );

              SET SQL_LOG_BIN=1;
              INSERT INTO t VALUES (1);

              --sync_slave_with_master

              1. End of test case
              Show
              elenst Elena Stepanova added a comment - Re: slave-skip-errors ignored in RBR mode. MTR test case: Run with - mysqld= -slave-skip-errors=all or - mysqld= -slave-skip-error=1146. Please note that variations of the flow that cause error 1032 instead of 1146 work all right. --source include/master-slave.inc SET binlog_format='row'; SET SQL_LOG_BIN=0; CREATE TABLE t ( i INT ); SET SQL_LOG_BIN=1; INSERT INTO t VALUES (1); --sync_slave_with_master End of test case
              Hide
              elenst Elena Stepanova added a comment -

              Re: slave-skip-errors ignored in RBR mode.
              Reproducible in 5.1, 5.2, 5.3, 5.5.

              Assigning to Monty to decide whether it is to be fixed in MariaDB (any of the versions) or filed for MySQL.

              Show
              elenst Elena Stepanova added a comment - Re: slave-skip-errors ignored in RBR mode. Reproducible in 5.1, 5.2, 5.3, 5.5. Assigning to Monty to decide whether it is to be fixed in MariaDB (any of the versions) or filed for MySQL.
              Hide
              knielsen Kristian Nielsen added a comment -

              Re: slave-skip-errors ignored in RBR mode.
              This seems to be an upstream (MySQL) bug.

              Unfortunately, this is not a priority for me to work on at the moment.

              When MySQL will fix it, we will merge the patch.

              Or if someone else makes a patch, I would be happy to review + apply.

              Show
              knielsen Kristian Nielsen added a comment - Re: slave-skip-errors ignored in RBR mode. This seems to be an upstream (MySQL) bug. Unfortunately, this is not a priority for me to work on at the moment. When MySQL will fix it, we will merge the patch. Or if someone else makes a patch, I would be happy to review + apply.
              Hide
              ratzpo Rasmus Johansson added a comment -

              Launchpad bug id: 903798

              Show
              ratzpo Rasmus Johansson added a comment - Launchpad bug id: 903798

                People

                • Assignee:
                  knielsen Kristian Nielsen
                  Reporter:
                  alexeyzilber Alexey Zilber
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: