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

Make MyRocks in MariaDB stable

    XMLWordPrintable

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

            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.