Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
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
- is part of
-
MDEV-9658 Make MyRocks in MariaDB stable
-
- Closed
-
Activity
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.
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".
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
|
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
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?