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

With wsrep_mode=REPLICATE_ARIA only part of mixed-engine transactions is replicated

Details

    Description

      When updating both an Aria and InnoDB table in a single transaction only the Aria change seems to get replicated to the other nodes, but not the InnoDB ones.

      create table t1 (id serial, val int) engine=innodb;
      create table t2 (id serial, val int) engine=aria;
       
      insert into t1 values(1, 23);
      insert into t2 values(2, 42);
       
      begin;
      update t1 set val=24 where id=1;
      update t2 set val=41 where id=2;
      commit;
      

      The node I ran the transaction shows the expected results:

      MariaDB [test]> select * from t1;
      +----+------+
      | id | val  |
      +----+------+
      |  1 |   24 |
      +----+------+
      1 row in set (0.000 sec)
       
      MariaDB [test]> select * from t2;
      +----+------+
      | id | val  |
      +----+------+
      |  2 |   41 |
      +----+------+
      1 row in set (0.000 sec)
      

      But the other nodes only have the Aria table changed:

      MariaDB [test]> select * from t1;
      +----+------+
      | id | val  |
      +----+------+
      |  1 |   23 |
      +----+------+
      1 row in set (0.000 sec)
       
      MariaDB [test]> select * from t2;
      +----+------+
      | id | val  |
      +----+------+
      |  2 |   41 |
      +----+------+
      1 row in set (0.000 sec)
      

      Attachments

        Issue Links

          Activity

            JIraAutomate JiraAutomate added a comment -

            Automated message:
            ----------------------------
            Since this issue has not been updated since 6 weeks, it's time to move it back to Stalled.

            JIraAutomate JiraAutomate added a comment - Automated message: ---------------------------- Since this issue has not been updated since 6 weeks, it's time to move it back to Stalled.

            There is a bug when wsrep_mode='REPLICATE_MYISAM|REPLICATE_ARIA'. I think I will not allow Aria|MyISAM table DML inside a transaction because they do not support 2PC.

            janlindstrom Jan Lindström added a comment - There is a bug when wsrep_mode='REPLICATE_MYISAM|REPLICATE_ARIA'. I think I will not allow Aria|MyISAM table DML inside a transaction because they do not support 2PC.
            janlindstrom Jan Lindström added a comment - https://github.com/MariaDB/server/pull/3480
            sysprg Julius Goryavsky added a comment - Fix has been merged with the head revision: https://github.com/MariaDB/server/commit/b3be3c21576295883b6018428269abe674ee670d

            People

              sysprg Julius Goryavsky
              hholzgra Hartmut Holzgraefe
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.