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

Replication fails on updating a MEMORY table with an index using btree

    Details

      Description

      Test case:

      
      --source include/master-slave.inc
      --source include/have_binlog_format_row.inc
      
      CREATE TABLE t1 (f1 VARCHAR(128), f2 VARCHAR(128), KEY (f2,f1) USING BTREE) ENGINE=MEMORY;
      INSERT INTO t1 VALUES (NULL,'not'),('one',NULL),('two',NULL),('three','');
      
      UPDATE t1 SET f2 = 'new';
      
      --sync_slave_with_master
      
      Last_Error	Could not execute Update_rows event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log master-bin.000001, end_log_pos 694
      

      It's an upstream bug, but it's not reproducible in MySQL 5.6 (5.6.5, 5.6.12), while still reproducible in MariaDB 10.0.4 candidate.
      I filed it at bugs.mysql.com, although I don't have much hope that it will be fixed, given that it's not reproducible in 5.6.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              elenst Elena Stepanova added a comment -

              Since we aren't planning to merge replication changes from MySQL 5.6, we might want to consider fixing it separately.

              Show
              elenst Elena Stepanova added a comment - Since we aren't planning to merge replication changes from MySQL 5.6, we might want to consider fixing it separately.
              Hide
              pomyk Patryk Pomykalski added a comment - - edited

              This bug is not related to replication:

              CREATE TABLE t1 (f1 VARCHAR(128), f2 VARCHAR(128), KEY (f2,f1) USING BTREE) ENGINE=MEMORY;
              INSERT INTO t1 VALUES (NULL,'not'), ('one',NULL),('two',NULL),('three','');
              SELECT * FROM t1 WHERE f1 = 'one'  and f2 IS NULL;
              

              It was fixed in mysql 5.6 in revision: http://bazaar.launchpad.net/~mysql/mysql-server/5.6/revision/2876.449.1

              Show
              pomyk Patryk Pomykalski added a comment - - edited This bug is not related to replication: CREATE TABLE t1 (f1 VARCHAR (128), f2 VARCHAR (128), KEY (f2,f1) USING BTREE) ENGINE=MEMORY; INSERT INTO t1 VALUES (NULL,'not'), ('one',NULL),('two',NULL),('three',''); SELECT * FROM t1 WHERE f1 = 'one' and f2 IS NULL; It was fixed in mysql 5.6 in revision: http://bazaar.launchpad.net/~mysql/mysql-server/5.6/revision/2876.449.1

                People

                • Assignee:
                  serg Sergei Golubchik
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 1 hour, 30 minutes
                    1h 30m