Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-4250

Enable MyRocks in 8.0 mtr



    • Type: Bug
    • Status: Done
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: 8.0.x
    • Fix Version/s: 8.0.12-2rc1
    • Component/s: MyRocks
    • Labels:


      • Updated MyRocks entry in plugin.defs
      • Ported patch to mysql-test-run.pl that adds MYSQL_SST_DUMP
      • Disabled tests known to fail due to unported features
      • Eliminate mtr include have_innodb.inc.
      • Eliminate mtr include not_embedded.inc
      • Eliminate mtr include not_gtid_enabled.inc, added --gtid_mode=off to tests
        that depend on no gtid, added assertions gtid_mode=0
      • Eliminate mtr include have_gtid.inc, added --gtid_mode=on to tests that
        depend specifically on gtid, added assertions gtid_mode=1
      • Re-record tests that now return I_S column names in CAPS
      • Changed tests to use new search_pattern.incs
      • SHOW INDEX
        • adds "Visible" column
        • changes "Index_type" results for custom storage engines
      • SHOW TABLE
        • shows accurate date/time for Create|Update|Check_time
        • default charset and collation changes results
        • masking out "Rows" as in most cases it is not deterministic in MyRocks
      • default character set changes
        • changes results of SHOW CREATE TABLE
        • changes results of SHOW TABLE
        • changes results where field size is used
        • changes max number of characters that can be in a varchar key
        • changes key_len in EXPLAIN
        • utf8 is now an alias for utf8mb3 and emits a warning whenever used
      • Removed some portion of bulk_load_errors test due to differing behavior in 8.0 and inability to coerce server code to close handlers at specific times which is what the test formerly tested for.
      • Fixed tests that were looking for 'info' level verbosity introduced in 8.0 that was being filtered out due to default value of --log-error-verbosity=2 where tests needed --log-error-verbosity=3.
      • Re-recorded deprecated warning for SQL_MODE NO_AUTO_CREATE_USER
      • Re-recorded for changed error messages for CREATE TABLESPACE
      • Re-recorded for changes error text for JSON column use in an index
      • Added new tests to match common files in suite/json/inc
      • Re-recorded tests to pick up changes in various index_merge*.inc
      • Re-recorded tests to pick up changes in to mysqldump output
      • Re-recorded tests due to engine specific handler error codes being changed
      • Re-recorded for new warnings in 8.0 when attempt to use an index type (BTREE) that storage engine doesn't support
      • Re-recorded for new warnings in 8.0 for GROUP BY with ASC/DESC
      • Added --error to expect new error where DESC is used and removed DESC for test continuation
      • Re-recorded for changed EXPLAIN 'Extra' column value 'Backwards index scan'
      • 8.0 kills query cache, so, remove MyRocks query cache test
      • 8.0 changes behavior of lower_case_table_names and breaks mtr test(s)
      • Moved .opt "--lower-case-table-names=1" into " --bootstrap --lower-case-table-names=1" to force server bootstrap/init with lctn=1
      • Added --information-schema-stats-expiry=0 to suite.opt to stabilize suite for tests that depend on accuracy of I_S metadata tables
      • Auto increment is now behaving 'more correctly' for various cases of TRUNCATE TABLE, DELETE, over bounds, ALTER TABLE auto_increment=nnn, etc... So, some tests needed re-recorded.
      • 8.0 changes the default authentication plugin causing some tests which use scripts and connectors to fail. Forced selected tests to bootstrap with --default_authentication_plugin=mysql_native_password
      • 8.0 emits rollback error at time of attempted update as opposed to time of commit which is 5.7 behavior.  Slightly re-ordered tests to expect error earlier and use explicit ROLLBACK instead of COMMIT
      • 8.0 data dictionary changes some mtr results
        • rocksdb.rpl.rpl_rocksdb_parallel_ddl needs re-recorded as it lists files in datadir which are now different due to InnoDB data dictionary
        • rocksdb.duplicate_table tries to manipulate the data dictionary by moving .frm files around in order to entice an error from the server.  In 8.0, access to the data dictionary can be had in debug builds only with "set debug='+d,skip_dd_table_access_check';", but, manupulating this is problematic and tends to crash the server and is by definition unsupported.  So this part of the test is removed.
        • rocksdb.handler_basic handler status (SHOW STATUS LIKE 'Handler_write%') counts are now different due to writes through InnoDB as part of "CREATE TABLE"
      • Reduced rocksdb.misc test by removing manual event creation via insert into mysql.event
      • 8.0 changes default for local_infile for better security, added --local_infile=1 to loaddata-master.opt

        Smart Checklist




              george.lorch George Lorch
              george.lorch George Lorch
              0 Vote for this issue
              1 Start watching this issue



                  Time Tracking

                  Original Estimate - Not Specified
                  Not Specified
                  Remaining Estimate - 0 minutes
                  Time Spent - 4 hours