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

Variable and log records to indicate RocksDB version are missing

Details

    Description

      Usually we see versions for storage engines used in MariaDB 10.2 represented by separate variables:

      MariaDB [test]> show variables like '%version%';
      +-------------------------+----------------------------------+
      | Variable_name           | Value                            |
      +-------------------------+----------------------------------+
      | innodb_version          | 5.7.14                           |
      | protocol_version        | 10                               |
      | slave_type_conversions  |                                  |
      | tokudb_version          | 5.6.35-80.0                      |
      | version                 | 10.2.6-MariaDB                   |
      | version_comment         | Source distribution              |
      | version_compile_machine | x86_64                           |
      | version_compile_os      | Linux                            |
      | version_malloc_library  | system                           |
      | version_ssl_library     | OpenSSL 1.0.2k-fips  26 Jan 2017 |
      | wsrep_patch_version     | wsrep_25.16                      |
      +-------------------------+----------------------------------+
      11 rows in set (0.00 sec)
       
      MariaDB [test]> show engines;
      +--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
      | Engine             | Support | Comment                                                                          | Transactions | XA   | Savepoints |
      +--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
      | ROCKSDB            | YES     | RocksDB storage engine                                                           | YES          | YES  | YES        |
      | MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                            | NO           | NO   | NO         |
      | CSV                | YES     | CSV storage engine                                                               | NO           | NO   | NO         |
      | SEQUENCE           | YES     | Generated tables filled with sequential values                                   | YES          | NO   | YES        |
      | MyISAM             | YES     | MyISAM storage engine                                                            | NO           | NO   | NO         |
      | TokuDB             | YES     | Percona TokuDB Storage Engine with Fractal Tree(tm) Technology                   | YES          | YES  | YES        |
      | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                        | NO           | NO   | NO         |
      | InnoDB             | DEFAULT | Supports transactions, row-level locking, foreign keys and encryption for tables | YES          | YES  | YES        |
      | Aria               | YES     | Crash-safe tables with MyISAM heritage                                           | NO           | NO   | NO         |
      | PERFORMANCE_SCHEMA | YES     | Performance Schema                                                               | NO           | NO   | NO         |
      +--------------------+---------+----------------------------------------------------------------------------------+--------------+------+------------+
      10 rows in set (0.00 sec)
      

      See innodb_version and tokudb_version above. I think rocksdb_version is clearly missing.

      We do not have version reported in the error log also:

      2017-04-06 13:54:24 139839357302848 [Note] /home/openxs/dbs/maria10.2/bin/mysqld: ready for connections.
      Version: '10.2.6-MariaDB'  socket: '/tmp/mariadb.sock'  port: 3306  Source distribution
      2017-04-06 13:55:43 139838786844416 [Note] RocksDB: Got ENOENT when listing column families
      2017-04-06 13:55:43 139838786844416 [Note] RocksDB:   assuming that we're creating a new database
      2017-04-06 13:55:43 139838786844416 [Note] RocksDB: Column Families at start:
      2017-04-06 13:55:43 139838786844416 [Note]   cf=default
      2017-04-06 13:55:43 139838786844416 [Note]     write_buffer_size=67108864
      2017-04-06 13:55:43 139838786844416 [Note]     target_file_size_base=67108864
      2017-04-06 13:55:43 139838786844416 [Note] RocksDB: creating a column family __system__
      2017-04-06 13:55:43 139838786844416 [Note]     write_buffer_size=67108864
      2017-04-06 13:55:43 139838786844416 [Note]     target_file_size_base=67108864
      2017-04-06 13:55:43 139838786844416 [Note] RocksDB: Table_store: loaded DDL data for 0 tables
      2017-04-06 13:55:44 139838786844416 [Note] RocksDB: global statistics using get_sched_indexer_t indexer
      2017-04-06 13:55:44 139838786844416 [Note] RocksDB instance opened
      

      "Upstream" Facebook's MySQL 5.6 has at least the following for rocksdb:

      mysql> show status like '%rocksdb%';
      +------------------+------------------------------------------+
      | Variable_name    | Value                                    |
      +------------------+------------------------------------------+
      | rocksdb_git_date | 2017-03-16T18:24:17-07:00                |
      | rocksdb_git_hash | d52f334cbd4bceee23f13470f137220c8a75686b |
      +------------------+------------------------------------------+
      2 rows in set (0.00 sec)
      

      Attachments

        Activity

          Ok to push after adjusting the description

          psergei Sergei Petrunia added a comment - Ok to push after adjusting the description
          danblack Daniel Black added a comment -

          varun, 7703095d2e26a15d4ecbd3683f9779b97f851c98 fails to build with out of tree builds as the generated header file is in the build dir not the source dir.

          $ pwd
          /home/dan/software_projects/build-mariadb-10.2
          ...
          make -j8
          ...
          /home/dan/software_projects/mariadb-10.2/storage/rocksdb/ha_rocksdb.cc:73:35: fatal error: ./rdb_source_revision.h: No such file or directory
           #include "./rdb_source_revision.h"
          

          danblack Daniel Black added a comment - varun , 7703095d2e26a15d4ecbd3683f9779b97f851c98 fails to build with out of tree builds as the generated header file is in the build dir not the source dir. $ pwd /home/dan/software_projects/build-mariadb-10.2 ... make -j8 ... /home/dan/software_projects/mariadb-10.2/storage/rocksdb/ha_rocksdb.cc:73:35: fatal error: ./rdb_source_revision.h: No such file or directory #include "./rdb_source_revision.h"
          danblack Daniel Black added a comment -

          This is a sufficient fix:

          diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake
          index dd23304..5810412 100644
          --- a/storage/rocksdb/build_rocksdb.cmake
          +++ b/storage/rocksdb/build_rocksdb.cmake
          @@ -6,6 +6,7 @@ endif()
           SET(ROCKSDB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb)
           
           INCLUDE_DIRECTORIES(
          +  ${CMAKE_CURRENT_BINARY_DIR}
             ${ROCKSDB_SOURCE_DIR}
             ${ROCKSDB_SOURCE_DIR}/include
             ${ROCKSDB_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src
          

          danblack Daniel Black added a comment - This is a sufficient fix: diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index dd23304..5810412 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -6,6 +6,7 @@ endif() SET(ROCKSDB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/rocksdb) INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_BINARY_DIR} ${ROCKSDB_SOURCE_DIR} ${ROCKSDB_SOURCE_DIR}/include ${ROCKSDB_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src

          Thanks danblack for noticing this glitch

          varun Varun Gupta (Inactive) added a comment - Thanks danblack for noticing this glitch

          There is no rocksdb_deadlock_detect_depth_basic.result file. Also, that test needs a --replace command to not print the hash value.

          psergei Sergei Petrunia added a comment - There is no rocksdb_deadlock_detect_depth_basic.result file. Also, that test needs a --replace command to not print the hash value.

          People

            varun Varun Gupta (Inactive)
            valerii Valerii Kravchuk
            Votes:
            0 Vote for this issue
            Watchers:
            5 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.