Details

    • 10.2.3-2, 10.2.4-4, 10.2.4-5, 10.2.4-1, 10.2.4-2, 10.2.5-1, 10.2.6-2, 10.2.6-3

    Description

      This is the umbrella task for including MyRocks Storage Engine from https://github.com/facebook/mysql-5.6 ("FB tree") into MariaDB.

      Inclusion itself

      See MDEV-10965: Add MyRocks into MariaDB repository

      Packaging

      See MDEV-10966 - Packaging for MariaRocks

      Required changes at the SQL layer

      A list of changes in the FB tree that touch the SQL layer (based on git log output):
      65501b5 Disable unique checks when replica is lagging
      dd7eeae Issue#250: MyRocks/Innodb different output from query with order ...
      f0a2ded Per database uuid
      9b439ee Add option to exclude tables from gap lock check
      5bcb50c Per database uuid
      e9ef099 Improve code style for classes RDBSE_TABLE_DEF and RDBSE_KEYDEF
      5a82f20 Add gcc function attributes to MyRocks code with a sprinkle of assertions
      6078c85 Preventing to write "Got error 122.." to err log on Gap Lock errors
      782cc5a Optionally block/log queries relying on Gap Locks
      c2dbe68 Add lock information to lock timeout error message
      c1f1f0b Issue #108: Index-only scans do not work for partitioned tables and extended keys
      3c0802f Improve singled thread replication performance
      55622f1 Issue #75: Prefix bloom filter is not used for LinkBench style range scan
      ee00797 Compile rocksdb library with mysql compiler settings
      8098b78 Add support for reporting keys/deletes skipped in the extra slow query log
      bcd7646 Supporting START TRANSACTION WITH CONSISTENT [ROCKSDB] SNAPSHOT
      ff91c80 Crash safe slave and master in RocksDB

      • also check if da1d92fd (set_end_range) is ported from mysql-5.6 because MyRocks' bloom prefix filter uses that.
      • MariaDB has just got NO_PAD collations: MDEV-9711. MyRocks actually had NO_PAD behaviour for PAD collations, and this was a bug
        https://github.com/facebook/mysql-5.6/issues/257. MyRocks will have to provide PAD/NO_PAD behaviour, accordingly to what charset is used.
      • rdb_perf_context.cc uses my_io_perf_sum_atomic_helper() the function is not in MySQL or MariaDB, it comes from bc4145e7
      • MDEV-10975: Merging of @@rocksdb_skip_unique_check
      • MDEV-10976: Port MyRocks' Read Free Replication to MariaRocks

        Group Commit with Binlog (and Optimistic Parallel Replication).

      MyRocks (actually, RocksDB and MyRocks together) need support for high-priority transactions to get MariaDB's optimistic Parallel Replication to work.

      Other issues

      • mysql-test-run should not require any additional parameters when running MyRocks tests.
      • packaging for myrocks_hotbackup
      • Do we include MyRocks' RQG tests? It has some MTR tests which actually just run the bundled RQG with a special grammar.
      • TODO what is missing?

      Attachments

        Issue Links

          Activity

            obissick, currently there are no plans for Galera support. Galera integrates tightly with the storage engine, and at the moment the only engine it has integration with is InnoDB/XtraDB.

            psergei Sergei Petrunia added a comment - obissick , currently there are no plans for Galera support. Galera integrates tightly with the storage engine, and at the moment the only engine it has integration with is InnoDB/XtraDB.

            Current status is:

            • Upstream is merged up to

                  commit 184a4a2d82f4f6f3cbcb1015bcdb32bebe73315c
                  Author: Abhinav Sharma <abhinavsharma@fb.com>
                  Date:   Thu Sep 14 11:40:08 2017 -0700
              

            • Most of the features are in the 10.2 tree
            • The candidate code for "Group Commit with Binlog" (MDEV-11934) feature is in bb-10.2-mariarocks tree.
            psergei Sergei Petrunia added a comment - Current status is: Upstream is merged up to commit 184a4a2d82f4f6f3cbcb1015bcdb32bebe73315c Author: Abhinav Sharma <abhinavsharma@fb.com> Date: Thu Sep 14 11:40:08 2017 -0700 Most of the features are in the 10.2 tree The candidate code for "Group Commit with Binlog" ( MDEV-11934 ) feature is in bb-10.2-mariarocks tree.

            Filed MDEV-14103, it is on elenst's plate now.

            psergei Sergei Petrunia added a comment - Filed MDEV-14103 , it is on elenst 's plate now.

            psergey,
            The previous comment is ambiguous, could you please specify what exactly is on my plate – MDEV-14103 or "making MyRocks in MariaDB stable"?
            I acknowledge receiving of MDEV-14103 (Testing for group commit in MyRocks), but it cannot possibly be the only obstacle between the current state and declaring MyRocks stable.
            We have 7 open buildbot bugs for RocksDB which need to be closed before declaring MyRocks stable, and quite a few other open bugs/tasks, priority of which needs to be revised, because it was initially set based on the fact that MyRocks was alpha/beta.

            elenst Elena Stepanova added a comment - psergey , The previous comment is ambiguous, could you please specify what exactly is on my plate – MDEV-14103 or "making MyRocks in MariaDB stable"? I acknowledge receiving of MDEV-14103 (Testing for group commit in MyRocks), but it cannot possibly be the only obstacle between the current state and declaring MyRocks stable. We have 7 open buildbot bugs for RocksDB which need to be closed before declaring MyRocks stable, and quite a few other open bugs/tasks, priority of which needs to be revised, because it was initially set based on the fact that MyRocks was alpha/beta.

            elenst, it is only MDEV-14103 that is on your plate. Sorry for the confusion.

            psergei Sergei Petrunia added a comment - elenst , it is only MDEV-14103 that is on your plate. Sorry for the confusion.

            People

              psergei Sergei Petrunia
              colin Colin Charles
              Votes:
              16 Vote for this issue
              Watchers:
              28 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.