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

Run the engine-agnostic test suite on MyRocks, too

Details

    • 10.2.7-1

    Description

      (Filing so that it is not forgotten)

      There is a storage-agnostic test suite in MariaDB somewhere. We should run it with MyRocks.

      Attachments

        Issue Links

          Activity

            Not sure which one do they mean mysql-test/suite/engines or mysql-test/suite/storage_engine. In either case, how does one get the default mysql-test-run run to include running that suite with MyRocks?

            elenst, any idea?

            psergei Sergei Petrunia added a comment - Not sure which one do they mean mysql-test/suite/engines or mysql-test/suite/storage_engine . In either case, how does one get the default mysql-test-run run to include running that suite with MyRocks? elenst , any idea?

            It's storage_engine. The other suite, engines, is very much non-agnostic, it's only suitable for InnoDB and MyISAM.
            storage_engine is potentially suitable for much wider variety of engines, but the cost is that it takes an effort to adjust, and it's tough to maintain.
            I'll make the adjustments and will add the suite overlay to 10.2 tree.

            elenst Elena Stepanova added a comment - It's storage_engine. The other suite, engines, is very much non-agnostic, it's only suitable for InnoDB and MyISAM. storage_engine is potentially suitable for much wider variety of engines, but the cost is that it takes an effort to adjust, and it's tough to maintain. I'll make the adjustments and will add the suite overlay to 10.2 tree.
            elenst Elena Stepanova added a comment - - edited

            First run (only storage_engine, no subsuites):

            Completed: Failed 53/88 tests

            Failing test(s): storage_engine-rocksdb.alter_tablespace storage_engine-rocksdb.autoinc_secondary storage_engine-rocksdb.cache_index storage_engine-rocksdb.checksum_table_live storage_engine-rocksdb.create_table storage_engine-rocksdb.delete_low_prio storage_engine-rocksdb.delete_with_keys storage_engine-rocksdb.foreign_keys storage_engine-rocksdb.fulltext_search storage_engine-rocksdb.handler storage_engine-rocksdb.index storage_engine-rocksdb.index_enable_disable storage_engine-rocksdb.index_key_block_size storage_engine-rocksdb.index_primary storage_engine-rocksdb.index_type_btree storage_engine-rocksdb.index_type_hash storage_engine-rocksdb.insert_delayed storage_engine-rocksdb.insert_high_prio storage_engine-rocksdb.insert_low_prio storage_engine-rocksdb.insert_with_keys storage_engine-rocksdb.lock storage_engine-rocksdb.lock_concurrent storage_engine-rocksdb.misc storage_engine-rocksdb.optimize_table storage_engine-rocksdb.repair_table storage_engine-rocksdb.replace storage_engine-rocksdb.select_high_prio storage_engine-rocksdb.show_engine storage_engine-rocksdb.show_table_status storage_engine-rocksdb.tbl_opt_data_dir storage_engine-rocksdb.tbl_opt_index_dir storage_engine-rocksdb.tbl_opt_insert_method storage_engine-rocksdb.tbl_opt_union storage_engine-rocksdb.tbl_temporary storage_engine-rocksdb.truncate_table storage_engine-rocksdb.type_binary_indexes storage_engine-rocksdb.type_bit_indexes storage_engine-rocksdb.type_blob_indexes storage_engine-rocksdb.type_char_indexes storage_engine-rocksdb.type_date_time_indexes storage_engine-rocksdb.type_enum_indexes storage_engine-rocksdb.type_fixed_indexes storage_engine-rocksdb.type_float_indexes storage_engine-rocksdb.type_int_indexes storage_engine-rocksdb.type_set_indexes storage_engine-rocksdb.type_spatial storage_engine-rocksdb.type_spatial_indexes storage_engine-rocksdb.type_text_indexes storage_engine-rocksdb.update_ignore storage_engine-rocksdb.update_low_prio storage_engine-rocksdb.update_multi storage_engine-rocksdb.update_with_keys storage_engine-rocksdb.vcol

            Lots of tests fail with "Unsupported collation".

            elenst Elena Stepanova added a comment - - edited First run (only storage_engine, no subsuites): Completed: Failed 53/88 tests Failing test(s): storage_engine-rocksdb.alter_tablespace storage_engine-rocksdb.autoinc_secondary storage_engine-rocksdb.cache_index storage_engine-rocksdb.checksum_table_live storage_engine-rocksdb.create_table storage_engine-rocksdb.delete_low_prio storage_engine-rocksdb.delete_with_keys storage_engine-rocksdb.foreign_keys storage_engine-rocksdb.fulltext_search storage_engine-rocksdb.handler storage_engine-rocksdb.index storage_engine-rocksdb.index_enable_disable storage_engine-rocksdb.index_key_block_size storage_engine-rocksdb.index_primary storage_engine-rocksdb.index_type_btree storage_engine-rocksdb.index_type_hash storage_engine-rocksdb.insert_delayed storage_engine-rocksdb.insert_high_prio storage_engine-rocksdb.insert_low_prio storage_engine-rocksdb.insert_with_keys storage_engine-rocksdb.lock storage_engine-rocksdb.lock_concurrent storage_engine-rocksdb.misc storage_engine-rocksdb.optimize_table storage_engine-rocksdb.repair_table storage_engine-rocksdb.replace storage_engine-rocksdb.select_high_prio storage_engine-rocksdb.show_engine storage_engine-rocksdb.show_table_status storage_engine-rocksdb.tbl_opt_data_dir storage_engine-rocksdb.tbl_opt_index_dir storage_engine-rocksdb.tbl_opt_insert_method storage_engine-rocksdb.tbl_opt_union storage_engine-rocksdb.tbl_temporary storage_engine-rocksdb.truncate_table storage_engine-rocksdb.type_binary_indexes storage_engine-rocksdb.type_bit_indexes storage_engine-rocksdb.type_blob_indexes storage_engine-rocksdb.type_char_indexes storage_engine-rocksdb.type_date_time_indexes storage_engine-rocksdb.type_enum_indexes storage_engine-rocksdb.type_fixed_indexes storage_engine-rocksdb.type_float_indexes storage_engine-rocksdb.type_int_indexes storage_engine-rocksdb.type_set_indexes storage_engine-rocksdb.type_spatial storage_engine-rocksdb.type_spatial_indexes storage_engine-rocksdb.type_text_indexes storage_engine-rocksdb.update_ignore storage_engine-rocksdb.update_low_prio storage_engine-rocksdb.update_multi storage_engine-rocksdb.update_with_keys storage_engine-rocksdb.vcol Lots of tests fail with "Unsupported collation".
            elenst Elena Stepanova added a comment - - edited

            Got it running (all 3 suites together):

            The servers were restarted 2 times
            Spent 118.614 of 135 seconds executing testcases
             
            Completed: All 77 tests were successful.
            

            The following tests have been disabled on given reasons:

            storage_engine suite

            alter_tablespace     : Not supported
            autoinc_secondary    : Not supported
            create_table         : MDEV-12914 - Engine for temporary tables which are implicitly created as RocksDB is substituted silently
            delete_low_prio      : Not supported
            foreign_keys         : Not supported
            fulltext_search      : Not supported
            handler              : Not supported
            index_enable_disable : Not supported
            insert_delayed       : Not supported
            insert_high_prio     : Not supported
            insert_low_prio      : Not supported
            lock                 : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            lock_concurrent      : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            optimize_table       : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            repair_table         : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            select_high_prio     : Not supported
            show_table_status    : MDEV-13152 - Indeterministic row number in SHOW TABLE STATUS on RocksDB table
            tbl_opt_data_dir     : Not supported
            tbl_opt_index_dir    : Not supported
            type_spatial         : Not supported
            type_spatial_indexes : Not supported
            update_low_prio      : Not supported
            update_ignore        : MDEV-13151 - Indeterministic results of multi-table update on RocksDB tables
            update_multi         : MDEV-13151 - Indeterministic results of multi-table update on RocksDB tables
            vcol                 : Not supported
            

            storage_engine/parts subsuite

            alter_table    : MDEV-13153 - Assertion `global_status_var.global_memory_used == 0'
            optimize_table : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            repair_table   : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message
            

            storage_engine/trx subsuite

            cons_snapshot_serializable : Not supported
            level_read_uncommitted     : Not supported
            level_serializable         : Not supported
            xa_recovery                : MDEV-13155 - XA recovery not supported for RocksDB
            

            elenst Elena Stepanova added a comment - - edited Got it running (all 3 suites together): The servers were restarted 2 times Spent 118.614 of 135 seconds executing testcases   Completed: All 77 tests were successful. The following tests have been disabled on given reasons: storage_engine suite alter_tablespace : Not supported autoinc_secondary : Not supported create_table : MDEV-12914 - Engine for temporary tables which are implicitly created as RocksDB is substituted silently delete_low_prio : Not supported foreign_keys : Not supported fulltext_search : Not supported handler : Not supported index_enable_disable : Not supported insert_delayed : Not supported insert_high_prio : Not supported insert_low_prio : Not supported lock : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message lock_concurrent : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message optimize_table : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message repair_table : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message select_high_prio : Not supported show_table_status : MDEV-13152 - Indeterministic row number in SHOW TABLE STATUS on RocksDB table tbl_opt_data_dir : Not supported tbl_opt_index_dir : Not supported type_spatial : Not supported type_spatial_indexes : Not supported update_low_prio : Not supported update_ignore : MDEV-13151 - Indeterministic results of multi-table update on RocksDB tables update_multi : MDEV-13151 - Indeterministic results of multi-table update on RocksDB tables vcol : Not supported storage_engine/parts subsuite alter_table : MDEV-13153 - Assertion `global_status_var.global_memory_used == 0' optimize_table : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message repair_table : MDEV-13148 - LOCK TABLE on RocksDB table fails with a bogus error message storage_engine/trx subsuite cons_snapshot_serializable : Not supported level_read_uncommitted : Not supported level_serializable : Not supported xa_recovery : MDEV-13155 - XA recovery not supported for RocksDB
            elenst Elena Stepanova added a comment - - edited

            Overview of rdiffs and overlays for include files:

            • define_engine.inc:
              just engine name, no other changes
            • cleanup_engine.inc:
              added restart after each test, whenever .rocksdb folder is not empty. It is to work around not being able to clean up column families
            • mask_engine.inc:
              extra substitution / COLLATE[= ]latin1_bin//
            • suite.opt:
              --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW --collation-server=latin1_bin
            • parts/suite.opt:
              --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW
            • trx/suite.opt:
              --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW
            • cache_index.rdiff:
              the storage engine does not support assign_to_keycache/preload_keys
            • checksum_table_live.rdiff, parts/checksum_table.rdiff:
              CHECKSUM ... QUICK} returns NULL
            • index.rdiff, index_type_btree.rdiff:
              LSMTREE instead of BTREE, Unique index support is disabled when the table has no primary key
            • index_type_hash.rdiff:
              LSMTREE instead of HASH, Unique index support is disabled when the table has no primary key
            • misc.rdiff:
              Unknown storage engine 'InnoDB' on a query from INFORMATION_SCHEMA
            • parts/create_table.rdiff:
              different EXPLAIN PARTITIONS output
            • show_engine.rdiff:
              SHOW ENGINE RocksDB STATUS output
            • show_table_status.rdiff:
              different collation
            • tbl_opt_insert_method.rdiff, tbl_opt_union.rdiff:
              option is ignored
            • tbl_temporary.rdiff:
              Table storage engine 'ROCKSDB' does not support the create option 'TEMPORARY'
            • truncate_table.rdiff:
              HANDLER is not supported
            • trx/delete.rdiff, trx/insert.rdiff, trx/update.rdiff:
              MyRocks currently does not support ROLLBACK TO SAVEPOINT if modifying rows
            • trx/level_read_committed.rdiff:
              Only REPEATABLE READ isolation level is supported for START TRANSACTION WITH CONSISTENT SNAPSHOT in RocksDB Storage Engine
            • trx/level_repeatable_read.rdiff:
              no lock wait timeout on concurrent insert
            • type_binary_indexes.rdiff:
              Unique index support is disabled when the table has no primary key
            • index_key_block_size.rdiff, insert_with_keys.rdiff, replace.rdiff, type_bit_indexes.rdiff, type_blob_indexes.rdiff, type_char_indexes.rdiff, type_date_time_indexes.rdiff, type_enum_indexes.rdiff, type_fixed_indexes.rdiff, type_float_indexes.rdiff, type_int_indexes.rdiff, type_set_indexes.rdiff, type_text_indexes.rdiff, update_with_keys.rdiff:
              Unique index support is disabled when the table has no primary key
            • type_enum.rdiff, type_set.rdiff:
              different result apparently due to the binary collation
            elenst Elena Stepanova added a comment - - edited Overview of rdiffs and overlays for include files: define_engine.inc : just engine name, no other changes cleanup_engine.inc : added restart after each test, whenever .rocksdb folder is not empty. It is to work around not being able to clean up column families mask_engine.inc : extra substitution / COLLATE[= ]latin1_bin// suite.opt : --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW --collation-server=latin1_bin parts/suite.opt : --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW trx/suite.opt : --ignore-db-dirs=.rocksdb --plugin-load=$HA_ROCKSDB_SO --binlog_format=ROW cache_index.rdiff : the storage engine does not support assign_to_keycache / preload_keys checksum_table_live.rdiff , parts/checksum_table.rdiff : CHECKSUM ... QUICK } returns NULL index.rdiff , index_type_btree.rdiff : LSMTREE instead of BTREE , Unique index support is disabled when the table has no primary key index_type_hash.rdiff : LSMTREE instead of HASH , Unique index support is disabled when the table has no primary key misc.rdiff : Unknown storage engine 'InnoDB' on a query from INFORMATION_SCHEMA parts/create_table.rdiff : different EXPLAIN PARTITIONS output show_engine.rdiff : SHOW ENGINE RocksDB STATUS output show_table_status.rdiff : different collation tbl_opt_insert_method.rdiff , tbl_opt_union.rdiff : option is ignored tbl_temporary.rdiff : Table storage engine 'ROCKSDB' does not support the create option 'TEMPORARY' truncate_table.rdiff : HANDLER is not supported trx/delete.rdiff , trx/insert.rdiff , trx/update.rdiff : MyRocks currently does not support ROLLBACK TO SAVEPOINT if modifying rows trx/level_read_committed.rdiff : Only REPEATABLE READ isolation level is supported for START TRANSACTION WITH CONSISTENT SNAPSHOT in RocksDB Storage Engine trx/level_repeatable_read.rdiff : no lock wait timeout on concurrent insert type_binary_indexes.rdiff : Unique index support is disabled when the table has no primary key index_key_block_size.rdiff , insert_with_keys.rdiff , replace.rdiff , type_bit_indexes.rdiff , type_blob_indexes.rdiff , type_char_indexes.rdiff , type_date_time_indexes.rdiff , type_enum_indexes.rdiff , type_fixed_indexes.rdiff , type_float_indexes.rdiff , type_int_indexes.rdiff , type_set_indexes.rdiff , type_text_indexes.rdiff , update_with_keys.rdiff : Unique index support is disabled when the table has no primary key type_enum.rdiff , type_set.rdiff : different result apparently due to the binary collation

            People

              elenst Elena Stepanova
              psergei Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.