Details

    • 5.5.54, 10.2.4-1, 10.2.4-2

    Description

      This is about packaging MyRocks storage engine.

      Build steps for the Facebook tree: https://github.com/facebook/mysql-5.6/wiki/Build-Steps

      Compiling

      • RocksDB requires a recent C++ compiler, more recent than some MariaDB platforms have.
      • It's the same with TokuDB, so we can borrow its CMake code for checking compiler version.

      Dependencies

      RocksDB depends on compression libraries:

      • zlip
      • snappy
      • ....
      • zstandard (new addition)

      Ubuntu 16.0.4 Xenial LTS has packages for all libraries.
      Other versions support a subset.

      What to build

      MariaRocks must be a loadable module (don't link statically).

      Other

      Facebook builds RocksDB with Jemalloc (we build Toku with Jemalloc, too)

      Attachments

        Issue Links

          Activity

            Another thing to check: https://github.com/facebook/mysql-5.6/commit/e804f86b203bb9384740e1fe92796dada6f865c9 .

            MyRocks makes use of STL's Regex library. Apparently, regex support is present but broken in GCC 4.8.

            psergei Sergei Petrunia added a comment - Another thing to check: https://github.com/facebook/mysql-5.6/commit/e804f86b203bb9384740e1fe92796dada6f865c9 . MyRocks makes use of STL's Regex library. Apparently, regex support is present but broken in GCC 4.8.

            Yet another thing to fix: I've added this into ha_rocksdb.h :

            #include "../storage/xtradb/include/ut0counter.h"
            /*
              'EMPTY' from field.h conflicts with EMPTY from
              /usr/include/x86_64-linux-gnu/bits/utmpx.h
              MARIAROCKS_NOT_YET: Sort out #include order so that we don't have to resort 
              to #undef
            */
            #undef EMPTY
            

            A better solution would be to get the #include order right.

            psergei Sergei Petrunia added a comment - Yet another thing to fix: I've added this into ha_rocksdb.h : #include "../storage/xtradb/include/ut0counter.h" /* 'EMPTY' from field.h conflicts with EMPTY from /usr/include/x86_64-linux-gnu/bits/utmpx.h MARIAROCKS_NOT_YET: Sort out #include order so that we don't have to resort to #undef */ #undef EMPTY A better solution would be to get the #include order right.

            If one looks here https://github.com/MariaDB/server/commits/10.2-mariarocks, one can see that Travis-CI succeeds in compiling MyRocks.

            psergei Sergei Petrunia added a comment - If one looks here https://github.com/MariaDB/server/commits/10.2-mariarocks , one can see that Travis-CI succeeds in compiling MyRocks.

            I've got buildbot to build the current code
            http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-mariarocks

            Unfortunately, no builder seems to be able to build it. The builders

            • have old version gcc
            • build from source tarball, which does not include rocksdb so they just dont build it
            • using windows and having some issue with get_rocksdb_files.sh
            • ...

            This MDEV needs some attention.

            psergei Sergei Petrunia added a comment - I've got buildbot to build the current code http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-mariarocks Unfortunately, no builder seems to be able to build it. The builders have old version gcc build from source tarball, which does not include rocksdb so they just dont build it using windows and having some issue with get_rocksdb_files.sh ... This MDEV needs some attention.
            psergei Sergei Petrunia added a comment - - edited

            Actually, kvm-deb-trusty-amd64 has a recent gcc and builds from git. It builds MyRocks SE and runs tests for it. Some tests pass, some (predictably) fail.

            psergei Sergei Petrunia added a comment - - edited Actually, kvm-deb-trusty-amd64 has a recent gcc and builds from git. It builds MyRocks SE and runs tests for it. Some tests pass, some (predictably) fail.

            People

              cvicentiu Vicențiu Ciorbaru
              psergei Sergei Petrunia
              Votes:
              2 Vote for this issue
              Watchers:
              4 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.