Merge InnoDB test cases from MySQL 5.7 (MDEV-13626)

[MDEV-14405] Review and fix tests from innodb suite Created: 2017-11-15  Updated: 2020-08-31  Resolved: 2020-08-31

Status: Closed
Project: MariaDB Server
Component/s: Tests
Affects Version/s: 10.2
Fix Version/s: N/A

Type: Technical task Priority: Major
Reporter: Alice Sherepa Assignee: Marko Mäkelä
Resolution: Not a Bug Votes: 0
Labels: None


 Description   

Tests that fail now in bb-10.2-alice branch from innodb suite:
create-index-debug.test, innodb-multiple-tablespaces.test, partition.test, alter_table_stage_progress.test, blob-crash.test, create_table.test, flush-hang.test, help_verbose.test, index-online-norebuild.test, innodb-lock-inherit-read_commited.test, innodb-status-output.test, innodb-truncate-debug.test, innodb_wl6470_debug.test, partition-upgrade.test, alter_foreign_crash.test, alter_kill.test, attachable_trx.test, blob_page_reserve.test, deadlock_detect.test, default_row_format_16k.test, file_format_defaults.test, high_prio_trx_1.test, high_prio_trx_2.test, high_prio_trx_3.test, high_prio_trx_4.test, high_prio_trx_5.test, high_prio_trx_6.test, high_prio_trx_7.test, high_prio_trx_commit_crash.test, high_prio_trx_debug.test, high_prio_trx_fk.test, high_prio_trx_rpl.test, import_update_stats.test, innodb-2byte-collation.test, innodb-alter-tempfile.test, innodb-autoinc.test, innodb-import-partition-rpl.test, innodb-import-partition.test, innodb-index-online-fk.test, innodb-index.test, innodb-wl5980-discard.test, innodb-wl5980-linux.test, innodb-wl6045-1.test, innodb-wl6045-linux.test, innodb-wl6445-1.test, innodb-wl6445-2.test, innodb_buffer_pool_load.test, innodb_bug-13628249.test, innodb_bug14147491.test, innodb_bug56143.test, innodb_bug70867.test, innodb_deadlock_with_autoinc.test, innodb_file_limit_check.test, innodb_i_s_innodb_locks.test, innodb_misc1.test, innodb_page_size_func.test, innodb_rename_index.test, innodb_rename_index_err.test, innodb_replace.test, innodb_stats_sample_pages.test, innodb_wl6469_1.test, innodb_wl6560_debug.test, innodb_wl6915_debug.test, log_file_size_checkpoint.test, log_file_size_1.test, monitor_restart.test, mysqldump_max_recordsize.test, optimizer_temporary_table.test, readonly.test, records_in_range.test, stored_fk.test, strict_checksum.test, sys_tablestats.test, undo.test, update-cascade.test, update_time.test
I disabled them for now, to fix one by one.

innodb_file_limit_check MDEV-14325
alter_foreign_crash [ fail ] test hangs

CURRENT_TEST: innodb.alter_foreign_crash
--- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/alter_foreign_crash.result        2017-11-07 15:35:20.098291082 +0100
+++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/alter_foreign_crash.reject        2017-11-08 00:41:05.673259913 +0100
@@ -14,12 +14,16 @@
 ALTER TABLE child ROW_FORMAT=DYNAMIC, ALGORITHM=COPY;
 connection default;
 SET DEBUG_SYNC='now WAIT_FOR s1';
+Warnings:
+Warning        1639    debug sync point wait timed out
 SET DEBUG_SYNC='now SIGNAL s2 WAIT_FOR s1';
+Warnings:
+Warning        1639    debug sync point wait timed out
+disconnect con1;
 show tables;
 Tables_in_bug
+child
 parent
 alter table parent row_format=dynamic;
-Warnings:
-Warning        1088    InnoDB: Could not add foreign key constraints.
 drop table parent;
 drop database bug;
mysqltest: Result length mismatch

alter_kill [ fail ]

CURRENT_TEST: innodb.alter_kill
mysqltest: At line 57: query 'SELECT COUNT(*) FROM bug16720368' failed: 1932: Table 'test.bug16720368' doesn't exist in engine
 
The result from queries just before the failure was:
#
# Bug#16720368 INNODB CRASHES ON BROKEN #SQL*.IBD FILE AT STARTUP
#
SET GLOBAL innodb_file_per_table=1;
CREATE TABLE bug16720368_1 (a INT PRIMARY KEY) ENGINE=InnoDB;
connect  con1,localhost,root;
CREATE TABLE bug16720368 (a INT PRIMARY KEY, b INT) ENGINE=InnoDB;
INSERT INTO bug16720368 (a) VALUES (1),(2),(3),(4),(5),(6),(7),(8);
connection default;
# Cleanly shutdown mysqld
disconnect con1;
# Corrupt FIL_PAGE_OFFSET in bug16720368.ibd,
# and update the checksum to the "don't care" value.
# Restart mysqld
# This will succeed after a clean shutdown, due to
# fil_open_single_table_tablespace(check_space_id=FALSE).
SELECT COUNT(*) FROM bug16720368;

  • alter_table_stage_progress [ fail ] disabled for now, fix
  • attachable_trx [ fail ]

    CURRENT_TEST: innodb.attachable_trx
    mysqltest: At line 46: query 'SELECT * FROM t1' failed: 1205: Lock wait timeout exceeded; try restarting transaction
     
    The result from queries just before the failure was:
    < snip >
     
    # Start transaction.
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    START TRANSACTION;
    # Insert a new row into t1.
    INSERT INTO t1(b) VALUES ('ddd');
    SELECT * FROM t1;
    a	b
    1	aaa
    2	bbb
    3	ccc
    4	ddd
     
    # [another connection]
    connect  con1,localhost,root,,;
     
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    START TRANSACTION;
    SET @@global.debug_dbug = '+d,use_attachable_trx';
    SELECT * FROM t1;
     

  • blob-crash [ fail ] disabled / no --innodb-force-recovery-crash option in Mariadb
  • blob_page_reserve [ fail ] resluts mismatch mdev 13626

    CURRENT_TEST: innodb.blob_page_reserve
    --- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/blob_page_reserve.result	2017-06-22 16:13:19.000000000 +0200
    +++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/blob_page_reserve.reject	2017-11-08 13:38:02.392439356 +0100
    @@ -6,7 +6,7 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t1';
     name	clust_index_size
    -test/t1	0
    +test/t1	1
     # If the page size is 16K, an uncompressed blob page can hold
     # data of 16330 bytes.  Insert 64 pages of data (64 * 16330 =
     # 1045120 bytes) so that 1 extent will be reserved and used.
    @@ -22,14 +22,14 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t1';
     name	clust_index_size
    -test/t1	289
    +test/t1	1
     # This will reserve 1 extent.
     insert into t1 values (3, repeat('%', 1045119), repeat('~', 1045119));
     set global innodb_buf_flush_list_now = 1;
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t1';
     name	clust_index_size
    -test/t1	289
    +test/t1	1
     drop table t1;
     set global innodb_compression_level=0;
     create table t2 (f1 int primary key, f2 longblob, f3 longblob) engine=innodb
    @@ -37,7 +37,7 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t2';
     name	clust_index_size
    -test/t2	0
    +test/t2	1
     # For KBS=1, the payload is 986 bytes.  The extent will contain
     # 1048576/1024 = 1024 pages. So total bytes is 1024 * 986 = 1009664.
     # This will reserve 1 extent.
    @@ -53,14 +53,14 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t2';
     name	clust_index_size
    -test/t2	4129
    +test/t2	1
     # This will reserve 1 extent.
     insert into t2 values (3, repeat('%', 1009663), repeat('~', 1009663));
     set global innodb_buf_flush_list_now = 1;
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t2';
     name	clust_index_size
    -test/t2	4129
    +test/t2	1
     drop table t2;
     set global innodb_compression_level=3;
     create table t3 (f1 int primary key, f2 longblob, f3 longblob) engine=innodb
    @@ -68,7 +68,7 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t3';
     name	clust_index_size
    -test/t3	0
    +test/t3	1
     # For KBS=1, the payload is 986 bytes.  The extent will contain
     # 1048576/1024 = 1024 pages. So total bytes is 4 * 1024 * 986 = 4038656.
     # This will reserve <= 4 extent.
    @@ -84,13 +84,13 @@
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t3';
     name	clust_index_size
    -test/t3	97
    +test/t3	1
     # This will reserve <= 4 extent
     insert into t3 values (3, repeat('%', 4038657), repeat('~', 4038657));
     set global innodb_buf_flush_list_now = 1;
     select name, clust_index_size from information_schema.innodb_sys_tablestats
     where name = 'test/t3';
     name	clust_index_size
    -test/t3	97
    +test/t3	1
     drop table t3;
     set global innodb_compression_level=default;
     
    mysqltest: Result length mismatch
     

  • create_table [ fail ] disabled for now, fix
  • deadlock_detect [ fail ] 1205: Lock wait timeout exceeded; try restarting transaction

     
    CURRENT_TEST: innodb.deadlock_detect  
    mysqltest: At line 43: query 'reap;' failed: 1205: Lock wait timeout exceeded; try restarting transaction
     
    The result from queries just before the failure was:
    < snip >
    id	INT,
    PRIMARY KEY(id)
    ) ENGINE=InnoDB;
    INSERT INTO t1 VALUES(1), (2), (3);
    BEGIN;
    SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
    id
    1
    connect  con1,localhost,root,,;
    BEGIN;
    SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
    id
    2
    SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
    connection default;
    SELECT * FROM t1 WHERE id = 2 FOR UPDATE;
    connection con1;
    ERROR HY000: Lock wait timeout exceeded; try restarting transaction
    ROLLBACK;
    connection default;
     
    More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/log/deadlock_detect.log
    

  • flush-hang [ fail ] fix, no GLOBAL INNODB_PURGE_STOP_NOW variable
  • help_verbose [ fail ] fix
  • high_prio_trx_1 [ fail ] 1205: Lock wait timeout exceeded; try restarting transaction

     
    CURRENT_TEST: innodb.high_prio_trx_1
    mysqltest: At line 26: query 'UPDATE t1 SET c1=2 WHERE c1=0' failed: 1205: Lock wait timeout exceeded; try restarting transaction
     
    The result from queries just before the failure was:
    < snip >
    connect con1,localhost,root,,test;
    connect con2,localhost,root,,test;
     
    # On connection 1
    connection con1;
    START TRANSACTION;
    UPDATE t1 SET c1=1 WHERE c1=0;
     
    # On connection 2
    connection con2;
    include/start_transaction_high_prio.inc
    START TRANSACTION /* HIGH PRIORITY */;
    UPDATE t1 SET c1=2 WHERE c1=0;
     
    More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/4/log/high_prio_trx_1.log
     
     - skipping '/home/alice/aliska/10.2/mysql-test/var/4/log/innodb.high_prio_trx_1-innodb/'
     

  • high_prio_trx_2 [ fail ] the same high_prio_trx_1
  • high_prio_trx_3 [ fail ] the same high_prio_trx_1
  • high_prio_trx_4 [ fail ] the same high_prio_trx_1
  • high_prio_trx_5 [ fail ]
    CURRENT_TEST: innodb.high_prio_trx_5

    mysqltest: At line 59: query 'reap' failed: 1205: Lock wait timeout exceeded; try restarting transaction
     
    The result from queries just before the failure was:
    < snip >
    START TRANSACTION;
    UPDATE t1 SET c1=2 WHERE c1=0 AND c2=0;
     
    # On connection 3
    connection con3;
    include/start_transaction_high_prio.inc
    START TRANSACTION /* HIGH PRIORITY */;
    SET @con2_id = <con2_id>;
    SET DEBUG_SYNC='rec_lock_add_to_waitq SIGNAL signal1 WAIT_FOR waiting1';
    UPDATE t1 SET c1=3 WHERE c1=0;;
     
    # On connection 1
    connection con1;
    SET DEBUG_SYNC='now WAIT_FOR signal1';
    SET DEBUG_SYNC='now SIGNAL waiting1';
    COMMIT;
    disconnect con1;
     
    # On connection 3
    connection con3;
     

    high_prio_trx_6 ---debug -internal check
    high_prio_trx_7 [ fail ] the same high_prio_trx_1

     
    innodb.high_prio_trx_7 'innodb'          w4 [ fail ]
            Test ended at 2017-11-08 00:48:22
     
    CURRENT_TEST: innodb.high_prio_trx_7
    mysqltest: At line 351: query 'UPDATE t1 SET c1=10 WHERE c1=0' failed: 1205: Lock wait timeout exceeded; try restarting transaction
     
    The result from queries just before the failure was:
    < snip >
    4
    50
    DROP TABLES t1;
    disconnect con1;
    disconnect con2;
    disconnect con3;
    disconnect con4;
    disconnect con5;
    # Scenario:6
    # Mark XA transaction as high prio.
    CREATE TABLE t1 (c1 INT NOT NULL PRIMARY KEY) ENGINE=InnoDB;
    INSERT INTO t1 VALUES (0),(1);
    connect con1,localhost,root,,test;
    connect con2,localhost,root,,test;
    connection con2;
    START TRANSACTION;
    UPDATE t1 SET c1=11 WHERE c1=0;
    connection con1;
    XA START 'xa_high_prio' /* HIGH PRIORITY */ ;
    UPDATE t1 SET c1=10 WHERE c1=0;
     
    More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/4/log/high_prio_trx_7.log
    

  • high_prio_trx_commit_crash [ fail ] 1205: Lock wait timeout exceeded; try restarting transaction
  • high_prio_trx_debug [ fail ] the same high_prio_trx_1
  • high_prio_trx_fk [ fail ] the same high_prio_trx_1
  • high_prio_trx_rpl 'innodb,mix' [ fail ] the same high_prio_trx_1
  • import_update_stats [ fail ] failed

     
    innodb.import_update_stats 'innodb'      w4 [ fail ]
            Test ended at 2017-11-08 00:56:02
     
    CURRENT_TEST: innodb.import_update_stats
    Undefined subroutine &main::ib_backup_tablespaces called at /home/alice/aliska/10.2/mysql-test/var/4/tmpACSTUQ line 2.
    mysqltest: At line 32: command "perl" failed with error: 2  my_errno: 0  errno: 0
     
    The result from queries just before the failure was:
    < snip >
    ) ENGINE = InnoDB;
    CREATE INDEX idx1 ON t1(col_1);
    CREATE INDEX idx2 ON t1(col_2);
    SHOW INDEXES FROM t1;
    Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  NullIndex_type  Comment Index_comment
    t1      1       idx1    1       col_1   A       0       NULL    NULL    YES     BTREE           
    t1      1       idx2    1       col_2   A       0       NULL    NULL    YES     BTREE           
    INSERT INTO t1  VALUES ("col1_00001", "col2_00001"), ("col1_00002", "col2_00002");
    SHOW INDEXES FROM t1;
    Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  NullIndex_type  Comment Index_comment
    t1      1       idx1    1       col_1   A       2       NULL    NULL    YES     BTREE           
    t1      1       idx2    1       col_2   A       2       NULL    NULL    YES     BTREE           
    ANALYZE TABLE t1;
    Table   Op      Msg_type        Msg_text
    test.t1 analyze status  OK
    SHOW INDEXES FROM t1;
    Table   Non_unique      Key_name        Seq_in_index    Column_name     Collation       Cardinality     Sub_part        Packed  NullIndex_type  Comment Index_comment
    t1      1       idx1    1       col_1   A       2       NULL    NULL    YES     BTREE           
    t1      1       idx2    1       col_2   A       2       NULL    NULL    YES     BTREE           
    FLUSH TABLES t1 FOR EXPORT;
     
    More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/4/log/import_update_stats.log
    

    index-online-norebuild [ fail ] disabled as no STORAGE DISK,...
    innodb-import-partition ALTER TABLE t1 DISCARD TABLESPACE' 1031: Storage engine InnoDB of the table `test`.`t1` doesn't have this option

    innodb.innodb-import-partition 'innodb'  [ fail ]
            Test ended at 2017-11-08 15:33:07
     
    CURRENT_TEST: innodb.innodb-import-partition
    mysqltest: In included file "./suite/innodb/include/innodb_import.inc": 
    included from /home/alice/aliska/10.2/mysql-test/suite/innodb/t/innodb-import-partition.test at line 11:
    At line 52: query 'ALTER TABLE t1 DISCARD TABLESPACE' failed: 1031: Storage engine InnoDB of the table `test`.`t1` doesn't have this option
     
    The result from queries just before the failure was:
    < snip >
    INSERT INTO t1 VALUES (1),(123),(331);
    SELECT c1 FROM t1;
    c1
    123
    1
    331
    FLUSH TABLES t1 FOR EXPORT;
    SELECT * FROM t1 ORDER BY c1;
    c1
    1
    123
    331
    backup: t1#P#p0
    backup: t1#P#p1
    backup: t1#P#p2
    UNLOCK TABLES;
    DROP TABLE t1;
    CREATE TABLE t1 (c1 INT) ENGINE = InnoDB
    PARTITION BY HASH(c1) PARTITIONS 3;
    ALTER TABLE t1 DISCARD TABLESPACE;
     
    More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/log/innodb-import-partition.log
    

  • innodb-import-partition-rpl 'innodb,mix' [ fail ] same as innodb-import-partition

     
    innodb.innodb-import-partition-rpl 'innodb,mix' w2 [ fail ]
            Test ended at 2017-11-08 01:06:13
     
    CURRENT_TEST: innodb.innodb-import-partition-rpl
    mysqltest: At line 53: query 'ALTER TABLE t1 DISCARD TABLESPACE' failed: 1031: Storage engine InnoDB of the table `test`.`t1` doesn't have this option
     
    The result from queries just before the failure was:
    < snip >
    backup: t2#P#p0
    backup: t2#P#p1
    # On slave
    connection slave;
    # check table created on slave
    SELECT * FROM t1;
    i
    111
    321
    1
    SELECT * FROM t2;
    i
    0
    1
    2
    # On master
    # DISCARD TABLESPACE on master.It will be also discarded from slave.
    connection master;
    UNLOCK TABLES;
    ALTER TABLE t1 DISCARD TABLESPACE;
    

    innodb-index [ fail ]

     
     CURRENT_TEST: innodb.innodb-index
    --- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb-index.result	2017-10-27 11:03:38.208532000 +0200
    +++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb-index.reject	2017-11-08 15:35:16.024683105 +0100
    @@ -1370,6 +1370,7 @@
     SELECT name, count_reset FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE
     subsystem = 'ddl' and count_reset > 0;
     name	count_reset
    +ddl_sort_file_alter_table	2
     SET GLOBAL innodb_monitor_reset = module_ddl;
     # No sort files used for dropping secondary index
     alter table t1 drop primary key, add primary key(f1,f5),drop index i;
    @@ -1416,6 +1417,7 @@
     SELECT name, count_reset FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE
     subsystem = 'ddl' and count_reset > 0;
     name	count_reset
    +ddl_sort_file_alter_table	2
     SET GLOBAL innodb_monitor_reset = module_ddl;
     # Must sort
     # Change PK(f1,f3) to (existing_column,f1)
    @@ -1437,6 +1439,7 @@
     SELECT name, count_reset FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE
     subsystem = 'ddl' and count_reset > 0;
     name	count_reset
    +ddl_sort_file_alter_table	2
     SET GLOBAL innodb_monitor_reset = module_ddl;
     # Skip sort for PK.
     # Change PK(f5n,f6n,f4,f1) to
    @@ -1449,6 +1452,7 @@
     SELECT name, count_reset FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE
     subsystem = 'ddl' and count_reset > 0;
     name	count_reset
    +ddl_sort_file_alter_table	2
     SET GLOBAL innodb_monitor_reset = module_ddl;
     SET GLOBAL innodb_monitor_disable = module_ddl;
     select count(*) from t1;
    @@ -1462,7 +1466,7 @@
     # WHEN SKIPPING SORT FOR CLUSTER INDEX
     SELECT @@innodb_sort_buffer_size;
     @@innodb_sort_buffer_size
    -1048576
    +65536
     create table t1(f1 int auto_increment not null,
     f2 char(200) not null, f3 char(200) not null,
     f4 char(200) not null,primary key(f1,f2,f3,f4));
     
    mysqltest: Result length mismatch
    

    innodb-index-online-fk [ fail ] l.494 MDEV-14335
    innodb-lock-inherit-read_commited [ fail ] no GLOBAL INNODB_PURGE_STOP_NOW variable, fix
    innodb-multiple-tablespaces [ fail ] tablespaces
    innodb-status-output [ fail ] fix

     
    CURRENT_TEST: innodb.innodb-status-output
    /home/alice/aliska/10.2/client/mysqltest: Error on delete of '/home/alice/aliska/10.2/mysql-test/var/4/tmp/innodb-status-output.err' (Errcode: 2 "No such file or directory")
    

    innodb-system-table-view '16k,innodb' [ fail ] ---fix

innodb-truncate-debug [ fail ] no GLOBAL INNODB_PURGE_STOP_NOW variable, fix
innodb-wl5980-discard [ fail ] fix, ///failing assertion: old_path in row0merge.cc line 4190
innodb-wl6045-1 [ fail ]

 
 CURRENT_TEST: innodb.innodb-wl6045-1
mysqltest: In included file "./include/wait_until_disconnected.inc": 
included from /home/alice/aliska/10.2/mysql-test/suite/innodb/t/innodb-wl6045-1.test at line 86:
At line 21: Server failed to dissapear
 
The result from queries just before the failure was:
< snip >
call mtr.add_suppression("\\[ERROR\\] InnoDB: Database page corruption on disk or a failed");
SET GLOBAL innodb_file_per_table=on;
[1]: Test is to corrupt the ibd file, & do repair for (innodb|crc32|none) checksum through innochecksum tool
# Create and populate the table to be corrupted
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY, b TEXT) ROW_FORMAT=COMPACT ENGINE=InnoDB;
INSERT INTO t1 (b) VALUES ('corrupt me');
INSERT INTO t1 (b) VALUES ('corrupt me');
# Shutdown the server
# Corrupt the t1 table
Munged a string.
Munged a string.
# Backup the corrupted t1.ibd for reuse for further testing.
# Write file to make mysql-test-run.pl start up the server again
# Write file to make mysql-test-run.pl expect the "crash", but don't
# start it until it's told to
# The below SELECT query will crash the server because some pages
# on the disk are corrupted
SELECT * FROM t1;
Got one of the listed errors
 

innodb-wl6045-linux [ fail ] fix COMPRESSION=...
innodb-wl6445-1 [ fail ] ? bug

CURRENT_TEST: innodb.innodb-wl6445-1
mysqltest: At line 404: query 'INSERT INTO testdb_wl6445.t4 VALUES (1),(2),(3),(4),(5),(6)' succeeded - should have failed with errno 1036...
 
The result from queries just before the failure was:
< snip >
1	aaaaaaaaaaaaaaaaaaaa
2	bbbbbbbbbbbbbbbbbbbb
3	cccccccccccccccccccc
SELECT t2_i,LEFT(t2_j,20) FROM t2 ORDER BY t2_i;
t2_i	LEFT(t2_j,20)
1	aaaaaaaaaaaaaaaaaaaa
2	bbbbbbbbbbbbbbbbbbbb
3	cccccccccccccccccccc
CALL proc1(@a);
SELECT @a;
@a
3
CALL proc2(2,'test2');
ERROR HY000: Table 't3' is read only
SELECT * FROM t3;
i	j
1	test1
CREATE TEMPORARY TABLE temp_1 ( i INT ) ENGINE = Innodb;
ERROR HY000: Can't create table `testdb_wl6445`.`temp_1` (errno: 165 "Table is read only")
INSERT INTO testdb_wl6445.t4 VALUES (1),(2),(3),(4),(5),(6);
 

innodb-wl6445-2 [ fail ] hangs
innodb_bug-13628249 [ fail ] has warning

 
innodb.innodb_bug-13628249 'innodb'      [ fail ]  Found warnings/errors in server log file!
        Test ended at 2017-11-09 14:04:54
line
2017-11-09 14:04:51 140687830927104 [Warning] InnoDB: Allocated tablespace ID 4 for test/t1, old maximum was 0
^ Found warnings in /home/alice/aliska/10.2/mysql-test/var/log/mysqld.1.err
ok

innodb_bug14147491 [ fail ] fix

 
innodb.innodb_bug14147491 'innodb'       [ fail ]
        Test ended at 2017-11-09 14:37:09
 
CURRENT_TEST: innodb.innodb_bug14147491
/home/alice/aliska/10.2/client/mysqltest: Error on rename of '/home/alice/aliska/10.2/mysql-test/var/mysqld.1/data//test/t1.ibd.backup' to '/home/alice/aliska/10.2/mysql-test/var/mysqld.1/data//test/t1.ibd' (Errcode: 2 "No such file or directory")
mysqltest: At line 97: command "move_file" failed with error: 1  my_errno: 2  errno: 2
 
The result from queries just before the failure was:
< snip >
INSERT INTO t1 (b) VALUES ('corrupt me');
INSERT INTO t1 (b) VALUES ('corrupt me');
# Corrupt the table
Munged a string.
Munged a string.
# Now t1 is corrupted but we should not crash
SELECT * FROM t1;
Got one of the listed errors
INSERT INTO t1(b) VALUES('abcdef');
Got one of the listed errors
UPDATE t1 set b = 'deadbeef' where a = 1;
Got one of the listed errors
set debug_dbug = '+d,innodb_page_corruption_retries';
# Write file to make mysql-test-run.pl expect the "crash", but don't
# start it until it's told to
# The below SELECT query will crash the server because some pages
# on the disk are corrupted
SELECT * FROM t1;
ERROR 42S02: Table 'test.t1' doesn't exist in engine
# Restore the original t1.ibd

innodb_bug56143 [ fail ]

 
CURRENT_TEST: innodb.innodb_bug56143
mysqltest: In included file "./suite/innodb/include/check_pfs_mem_other_is_zero.inc": 
included from /home/alice/aliska/10.2/mysql-test/suite/innodb/t/innodb_bug56143.test at line 590:
At line 12: query 'SELECT count_alloc FROM performance_schema.memory_summary_global_by_event_name
WHERE event_name = 'memory/innodb/other'' failed: 1146: Table 'performance_schema.memory_summary_global_by_event_name' doesn't exist

innodb_bug70867 [ fail ] failed

innodb.innodb_bug70867 'innodb'          w2 [ fail ]  timeout after 900 seconds
        Test ended at 2017-11-08 00:46:35
 
Test case timeout after 900 seconds
 
== /home/alice/aliska/10.2/mysql-test/var/2/log/innodb_bug70867.log == 
 
 == /home/alice/aliska/10.2/mysql-test/var/2/tmp/analyze-timeout-mysqld.1.err ==
mysqltest: Could not open connection 'default': 2013 Lost connection to MySQL server at 'handshake: reading inital communication packet', system error: 104
 

innodb_i_s_innodb_locks [ fail ] /result mismatch//

CURRENT_TEST: innodb.innodb_i_s_innodb_locks
Binary files /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_i_s_innodb_locks.result and /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_i_s_innodb_locks.reject differ
 
The two files differ but it was not possible to execute 'diff' in
order to show only the difference. Instead the whole content of the
two files was shown for you to diff manually.
 
To get a better report you should install 'diff' on your system, which you
for example can get from http://www.gnu.org/software/diffutils/diffutils.html
 
 --- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_i_s_innodb_locks.result >>>
SET GLOBAL innodb_lock_wait_timeout=600;
DROP TABLE IF EXISTS t_min, t_max;
CREATE TABLE t_min (
c01 TINYINT,
c02 TINYINT UNSIGNED,
c03 SMALLINT,
c04 SMALLINT UNSIGNED,
c05 MEDIUMINT,
c06 MEDIUMINT UNSIGNED,
c07 INT,
c08 INT UNSIGNED,
c09 BIGINT,
c10 BIGINT UNSIGNED,
PRIMARY KEY(c01, c02, c03, c04, c05, c06, c07, c08, c09, c10)
) ENGINE=INNODB;;
INSERT INTO t_min VALUES
(-128, 0,
-32768, 0,
-8388608, 0,
-2147483648, 0,
-9223372036854775808, 0);
CREATE TABLE t_max (
c01 TINYINT,
c02 TINYINT UNSIGNED,
c03 SMALLINT,
c04 SMALLINT UNSIGNED,
c05 MEDIUMINT,
c06 MEDIUMINT UNSIGNED,
c07 INT,
c08 INT UNSIGNED,
c09 BIGINT,
c10 BIGINT UNSIGNED,
PRIMARY KEY(c01, c02, c03, c04, c05, c06, c07, c08, c09, c10)
) ENGINE=INNODB;;
INSERT INTO t_max VALUES
(127, 255,
32767, 65535,
8388607, 16777215,
2147483647, 4294967295,
9223372036854775807, 18446744073709551615);
CREATE TABLE ```t'\"_str` (
c1 VARCHAR(32),
c2 VARCHAR(32),
c3 VARCHAR(32),
c4 VARCHAR(32),
c5 VARCHAR(32),
c6 VARCHAR(32),
c7 VARCHAR(32),
PRIMARY KEY(c1, c2, c3, c4, c5, c6, c7)
) ENGINE=INNODB;
INSERT INTO ```t'\"_str` VALUES
('1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc''''');
INSERT INTO ```t'\"_str` VALUES
('2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""');
INSERT INTO ```t'\"_str` VALUES
('3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\');
INSERT INTO ```t'\"_str` VALUES
('4', 'abc', 0x00616263, 0x61626300, 0x61006263, 0x6100626300, 0x610062630000);
SET autocommit=0;
SELECT * FROM t_min FOR UPDATE;
c01	c02	c03	c04	c05	c06	c07	c08	c09	c10
-128	0	-32768	0	-8388608	0	-2147483648	0	-9223372036854775808	0
SELECT * FROM t_max FOR UPDATE;
c01	c02	c03	c04	c05	c06	c07	c08	c09	c10
127	255	32767	65535	8388607	16777215	2147483647	4294967295	9223372036854775807	18446744073709551615
SELECT * FROM ```t'\"_str` FOR UPDATE;
c1	c2	c3	c4	c5	c6	c7
1	abc	'abc	abc'	a'bc	a'bc'	'abc''
2	abc	"abc	abc"	a"bc	a"bc"	"abc""
3	abc	\abc	abc\	a\bc	a\bc\	\abc\\
4	abc	<<<
 --- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_i_s_innodb_locks.result >>>
SET GLOBAL innodb_lock_wait_timeout=600;
DROP TABLE IF EXISTS t_min, t_max;
CREATE TABLE t_min (
c01 TINYINT,
c02 TINYINT UNSIGNED,
c03 SMALLINT,
c04 SMALLINT UNSIGNED,
c05 MEDIUMINT,
c06 MEDIUMINT UNSIGNED,
c07 INT,
c08 INT UNSIGNED,
c09 BIGINT,
c10 BIGINT UNSIGNED,
PRIMARY KEY(c01, c02, c03, c04, c05, c06, c07, c08, c09, c10)
) ENGINE=INNODB;;
INSERT INTO t_min VALUES
(-128, 0,
-32768, 0,
-8388608, 0,
-2147483648, 0,
-9223372036854775808, 0);
CREATE TABLE t_max (
c01 TINYINT,
c02 TINYINT UNSIGNED,
c03 SMALLINT,
c04 SMALLINT UNSIGNED,
c05 MEDIUMINT,
c06 MEDIUMINT UNSIGNED,
c07 INT,
c08 INT UNSIGNED,
c09 BIGINT,
c10 BIGINT UNSIGNED,
PRIMARY KEY(c01, c02, c03, c04, c05, c06, c07, c08, c09, c10)
) ENGINE=INNODB;;
INSERT INTO t_max VALUES
(127, 255,
32767, 65535,
8388607, 16777215,
2147483647, 4294967295,
9223372036854775807, 18446744073709551615);
CREATE TABLE ```t'\"_str` (
c1 VARCHAR(32),
c2 VARCHAR(32),
c3 VARCHAR(32),
c4 VARCHAR(32),
c5 VARCHAR(32),
c6 VARCHAR(32),
c7 VARCHAR(32),
PRIMARY KEY(c1, c2, c3, c4, c5, c6, c7)
) ENGINE=INNODB;
INSERT INTO ```t'\"_str` VALUES
('1', 'abc', '''abc', 'abc''', 'a''bc', 'a''bc''', '''abc''''');
INSERT INTO ```t'\"_str` VALUES
('2', 'abc', '"abc', 'abc"', 'a"bc', 'a"bc"', '"abc""');
INSERT INTO ```t'\"_str` VALUES
('3', 'abc', '\\abc', 'abc\\', 'a\\bc', 'a\\bc\\', '\\abc\\\\');
INSERT INTO ```t'\"_str` VALUES
('4', 'abc', 0x00616263, 0x61626300, 0x61006263, 0x6100626300, 0x610062630000);
connect  con_lock,localhost,root,,;
connect  con_min_trylock,localhost,root,,;
connect  con_max_trylock,localhost,root,,;
connect  con_str_insert_supremum,localhost,root,,;
connect  con_str_lock_row1,localhost,root,,;
connect  con_str_lock_row2,localhost,root,,;
connect  con_str_lock_row3,localhost,root,,;
connect  con_str_lock_row4,localhost,root,,;
connect  con_verify_innodb_locks,localhost,root,,;
connection con_lock;
SET autocommit=0;
SELECT * FROM t_min FOR UPDATE;
c01	c02	c03	c04	c05	c06	c07	c08	c09	c10
-128	0	-32768	0	-8388608	0	-2147483648	0	-9223372036854775808	0
SELECT * FROM t_max FOR UPDATE;
c01	c02	c03	c04	c05	c06	c07	c08	c09	c10
127	255	32767	65535	8388607	16777215	2147483647	4294967295	9223372036854775807	18446744073709551615
SELECT * FROM ```t'\"_str` FOR UPDATE;
c1	c2	c3	c4	c5	c6	c7
1	abc	'abc	abc'	a'bc	a'bc'	'abc''
2	abc	"abc	abc"	a"bc	a"bc"	"abc""
3	abc	\abc	abc\	a\bc	a\bc\	\abc\\
4	abc	
mysqltest: Result length mismatch
 
 

innodb_page_size_func [ fail ] timeout after 900 seconds

 
 innodb.innodb_page_size_func 'innodb'    w2 [ fail ]  timeout after 900 seconds
        Test ended at 2017-11-08 01:02:11
 
Test case timeout after 900 seconds
 
== /home/alice/aliska/10.2/mysql-test/var/2/log/innodb_page_size_func.log == 
# 0. Check and generate prerequites
# 1. Try to restart the server with some other legal innodb page size value.
#    It must fail because we had a different value before.
# 1.1 The value assigned is a number.
 
 == /home/alice/aliska/10.2/mysql-test/var/2/tmp/analyze-timeout-mysqld.1.err ==
mysqltest: Could not open connection 'default': 2013 Lost connection to MySQL server at 'handshake: reading inital communication packet', system error: 104
 
 
 - skipping '/home/alice/aliska/10.2/mysql-test/var/2/log/innodb.innodb_page_size_func-innodb/'
***Warnings generated in error logs during shutdown after running tests: innodb.innodb_page_size_func innodb.innodb_information_schema innodb.innodb_notembedded innodb.innodb_i_s_innodb_trx innodb.innodb_multi_update innodb.innodb_io_pf
 
Attempting backtrace. You can use the following information to find out

innodb_rename_index [ fail ] fix, ALTER TABLE t RENAME INDEX i1 TO GEN_CLUST_INDEX
innodb_rename_index_err [ fail ] fix//
innodb_replace [ fail ] result mismatch

 
CURRENT_TEST: innodb.innodb_replace
--- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_replace.result	2017-11-06 15:47:28.342176721 +0100
+++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_replace.reject	2017-11-09 14:57:27.155464879 +0100
@@ -80,7 +80,13 @@
 SET DEBUG_SYNC='now SIGNAL select5';
 connection con1;
 Warnings:
+Note	1265	Data truncated for column 'a' at row 1
+Note	1265	Data truncated for column 'b' at row 1
+Note	1265	Data truncated for column 'a' at row 2
+Note	1265	Data truncated for column 'b' at row 2
 Warning	1062	Duplicate entry '3' for key 'PRIMARY'
+Note	1265	Data truncated for column 'a' at row 3
+Note	1265	Data truncated for column 'b' at row 3
 connection default;
 a	b
 3	24
@@ -98,6 +104,13 @@
 connection con2;
 SET DEBUG_SYNC='now SIGNAL select6';
 connection con1;
+Warnings:
+Note	1265	Data truncated for column 'a' at row 1
+Note	1265	Data truncated for column 'b' at row 1
+Note	1265	Data truncated for column 'a' at row 2
+Note	1265	Data truncated for column 'b' at row 2
+Note	1265	Data truncated for column 'a' at row 3
+Note	1265	Data truncated for column 'b' at row 3
 connection default;
 a	b
 1	2
 
mysqltest: Result length mismatch

innodb_stats_sample_pages [ fail ] results mismatch

 
innodb.innodb_stats_sample_pages 'innodb' [ fail ]
        Test ended at 2017-11-09 12:26:46
 
CURRENT_TEST: innodb.innodb_stats_sample_pages
--- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_stats_sample_pages.result	2017-06-22 16:13:19.000000000 +0200
+++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/innodb_stats_sample_pages.reject	2017-11-09 12:26:45.853826443 +0100
@@ -10,11 +10,9 @@
 SELECT stat_name, stat_value FROM mysql.innodb_index_stats
 WHERE table_name='test_ps_sample_pages_used' AND stat_name='n_leaf_pages';
 stat_name	stat_value
-n_leaf_pages	37
 SELECT sample_size FROM mysql.innodb_index_stats
 WHERE table_name='test_ps_sample_pages_used' AND stat_name='n_diff_pfx01';
 sample_size
-17
 ALTER TABLE test_ps_sample_pages_used STATS_SAMPLE_PAGES=14;
 ANALYZE TABLE test_ps_sample_pages_used;
 Table	Op	Msg_type	Msg_text
@@ -22,6 +20,5 @@
 SELECT sample_size FROM mysql.innodb_index_stats
 WHERE table_name='test_ps_sample_pages_used' AND stat_name='n_diff_pfx01';
 sample_size
-14
 DROP TABLE test_ps_sample_pages_used;
 SET GLOBAL innodb_stats_persistent_sample_pages=default;
 
mysqltest: Result length mismatch

innodb_wl6469_1 [ fail ]

 
CURRENT_TEST: innodb.innodb_wl6469_1
mysqltest: At line 35: query 'create procedure populate_t1(IN rows INT)
begin
declare i int default 1;
while (i <= rows) DO
insert into t1 values (i, 'a', 'b');
set i = i + 1;
end while;
end' failed: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'rows INT)
begin
declare i int default 1;
while (i <= rows) DO
insert into t1 val' at line 1
 
The result from queries just before the failure was:
set global innodb_file_per_table = 0;
DROP TABLE IF EXISTS t1,t2;
select @@global.innodb_change_buffering;
@@global.innodb_change_buffering
all
create temporary table t1
(keyc int, c1 char(100), c2 char(100),
primary key(keyc)) engine = innodb;
create index idx on t1(keyc, c1(20));
create procedure populate_t1(IN rows INT)
begin
declare i int default 1;
while (i <= rows) DO
insert into t1 values (i, 'a', 'b');
set i = i + 1;
end while;
end|

innodb_wl6470_debug [ fail ] no GLOBAL INNODB_PURGE_STOP_NOW variable, fix

innodb_wl6560_debug [ fail ] fix

CURRENT_TEST: innodb.innodb_wl6560_debug
mysqltest: At line 61: command "$MYSQLD_CMD $crash=100" failed with wrong error: 7
 
The result from queries just before the failure was:
call mtr.add_suppression("\\[ERROR\\] InnoDB: table .* does not exist "
                         "in the InnoDB internal");
set global innodb_file_per_table = off;
"testing creation of tablepsace by enabling error path"
# files in MYSQL_DATA_DIR
ibtmp1
"Temp-tablespace removed on shutdown"
# files in MYSQL_DATA_DIR
--innodb-force-recovery-crash=100
"Next stmt will crash server"
 
 - skipping '/home/alice/aliska/10.2/mysql-test/var/4/log/innodb.innodb_wl6560_debug-innodb/'
***Warnings generated in error logs during shutdown after running tests: innodb.innodb_wl6560_debug
 
2017-11-08  0:56:44 140042316126016 [ERROR] /home/alice/aliska/10.2/sql/mysqld: unknown variable 'innodb-force-recovery-crash=100'
2017-11-08  0:56:44 140042316126016 [ERROR] Aborting

innodb_wl6915_debug [ fail ]

 
CURRENT_TEST: innodb.innodb_wl6915_debug
mysqltest: At line 99: query 'commit' succeeded - should have failed with errno 2013...
 
The result from queries just before the failure was:
< snip >
declare i int default 1;
while (i <= 50) DO
insert into t1 values (i, 'a', 'b');
insert into t2 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
call populate_t1_t2;
begin;
call populate_t1_t2();
update t1 set a = a + 1;
update t2 set a = a + 1;
select count(*) from t1;
count(*)
100
select count(*) from t2;
count(*)
100
SET SESSION DEBUG_DBUG="+d,ib_trx_crash_during_commit";
commit;
 

log_file_size_checkpoint [ fail ]

CURRENT_TEST: innodb.log_file_size_checkpoint
mysqltest: The test didn't produce any output 

monitor_restart [ fail ]
innodb.monitor_restart 'innodb' [ fail ]

 
CURRENT_TEST: innodb.monitor_restart
--- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/monitor_restart.result	2017-11-03 10:12:54.153108965 +0100
+++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/monitor_restart.reject	2017-11-09 15:17:16.362541317 +0100
@@ -11,4 +11,5 @@
 1	abc
 2	def
 3	ghi
+"Unexpected count: 0"
 DROP TABLE t1;
mysqltest: Result length mismatch

optimizer_temporary_table [ fail ] fix
partition [ fail ] disabled,
partition-upgrade [ fail ] no UPGARDE PARTITIONING --if no use, then delete also include files//
readonly [ fail ] fix
records_in_range [ fail ] results mismatch, fix
stored_fk [ fail ] fix
innodb.stored_fk 'innodb' [ fail ]

 
CURRENT_TEST: innodb.stored_fk
mysqltest: At line 10: query 'create table t2(f1 int not null, f2 int as (f1) virtual,
foreign key(f1) references t1(f1) on update cascade)engine=innodb' failed: 1005: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
 
The result from queries just before the failure was:
# Create statement with FK on base column of stored column
create table t1(f1 int, f2 int as(f1) stored,
foreign key(f1) references t2(f1) on delete cascade)engine=innodb;
ERROR HY000: Can't create table `test`.`t1` (errno: 150 "Foreign key constraint is incorrectly formed")
# adding new stored column during alter table copy operation.
create table t1(f1 int primary key);
create table t2(f1 int not null, f2 int as (f1) virtual,
foreign key(f1) references t1(f1) on update cascade)engine=innodb;

strict_checksum [ fail ] fix
sys_tablestats [ fail ] hang
tablespace_per_table_windows ---fix, skipped
trx_id_future [skipped no debug
undo [ fail ]

CURRENT_TEST: innodb.undo
mysqltest: At line 19: query 'UPDATE t0 SET a=substr(a,9999),b=substr(b,9999),c=substr(c,9999),
d=substr(d,9999),e=substr(e,9999),f=substr(f,9999)' succeeded - should have failed with errno 1713...
 
The result from queries just before the failure was:
Warnings:
Note	1071	Specified key was too long; max key length is 1000 bytes
Note	1071	Specified key was too long; max key length is 1000 bytes
Note	1071	Specified key was too long; max key length is 1000 bytes
Note	1071	Specified key was too long; max key length is 1000 bytes
Note	1071	Specified key was too long; max key length is 1000 bytes
Note	1071	Specified key was too long; max key length is 1000 bytes
BEGIN;
INSERT INTO t0 VALUES(
repeat('a',10000),repeat('b',10000),repeat('c',10000),
repeat('d',10000),repeat('e',10000),repeat('f',10000));
UPDATE t0 SET a=substr(a,9999),b=substr(b,9999),c=substr(c,9999),
d=substr(d,9999),e=substr(e,9999),f=substr(f,9999);
 

update-cascade [ fail ]

 CURRENT_TEST: innodb.update-cascade
 --- /home/alice/aliska/10.2/mysql-test/suite/innodb/r/update-cascade.result	2017-11-07 15:46:56.746985988 +0100
 +++ /home/alice/aliska/10.2/mysql-test/suite/innodb/r/update-cascade.reject	2017-11-09 14:18:17.673017645 +0100
 @@ -58,7 +58,7 @@
  10	--------------------
  select f1, f2 from t2;
  f1	f2
 -1	10
 +1	2
  drop table t2, t1;
  set debug_sync = reset;
  #
 @@ -120,7 +120,7 @@
  1	28
  select f1, f2 from t2;
  f1	f2
 -1	28
 +1	91
  drop table t2, t1;
  set debug_sync = reset;
  #
 @@ -210,7 +210,7 @@
  10	%%%%%%%%%%%%%%%%%%%%
  select f1, right(f2, 20) as p2 from t3;
  f1	p2
 -10	++++++++++++++++++++
 +2	++++++++++++++++++++
  commit;
  drop table t3, t2, t1;
  set debug_sync = reset;
 @@ -306,7 +306,7 @@
  2	28
  select f1, f2 from t3;
  f1	f2
 -2	28
 +2	91
  commit;
  drop table t3, t2, t1;
  set debug_sync = reset;
 mysqltest: Result length mismatch
 

buffer_pool_load //need to be rewritten line 179
deadlock_with_autoinc ---deadlock ---subtask in mdev 13626
default_row_format_16k

CURRENT_TEST: innodb.default_row_format_16k
mysqltest: At line 69: query 'CREATE TABLE t1(a VARCHAR(2000), PRIMARY KEY (a), KEY k1(a(2000)))' failed: 1071: Specified key was too long; max key length is 1000 bytes
 
The result from queries just before the failure was:
< snip >
CREATE TABLE t1 (a VARCHAR(3070) , b TEXT,
PRIMARY KEY(a(400)), KEY k1(a)) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
DROP TABLE t1;
CREATE TABLE t1 (a VARCHAR(3000) , b TEXT, c INT, d TEXT,
PRIMARY KEY(a, b(3), c), KEY k1(a, b(25))) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
DROP TABLE t1;
CREATE TABLE t1 (a INT , b TEXT,
PRIMARY KEY(a, b(3)), KEY k1(a)) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
DROP TABLE t1;
CREATE TABLE t1(a CHAR(10), KEY(a(5)));
DROP TABLE t1;
CREATE TABLE t1(a CHAR(255), KEY(a(200)));
DROP TABLE t1;
CREATE TABLE t1(a CHAR(255), KEY(a));
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(4000), KEY(a(2000)));
Warnings:
Warning	1071	Specified key was too long; max key length is 1000 bytes
DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(2000), PRIMARY KEY (a), KEY k1(a(2000)));
 
More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/log/default_row_format_16k.log

file_format_defaults //fix — bug?

innodb.file_format_defaults 'innodb'     [ fail ]
        Test ended at 2017-11-10 16:28:59
 
CURRENT_TEST: innodb.file_format_defaults
mysqltest: At line 21: query 'CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED' succeeded - should have failed with errno 1071...
 
The result from queries just before the failure was:
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
1
SELECT @@innodb_file_per_table;
@@innodb_file_per_table
1
SET GLOBAL innodb_large_prefix=ON;
Warnings:
Warning	131	Using innodb_large_prefix is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;

misc1 --fix

CURRENT_TEST: innodb.innodb_misc1
mysqltest: At line 874: query 'reap' failed with wrong errno 1205: 'Lock wait timeout exceeded; try restarting transaction', instead of 1746...
 
The result from queries just before the failure was:
< snip >
set autocommit = 0;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2 for update;
connection b;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection c;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection d;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection e;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection f;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection g;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection h;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection i;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
connection j;
More results from queries before failure can be found in /home/alice/aliska/10.2/mysql-test/var/log/innodb_misc1.log

mysqldump_max_recordsize [fail] the same as innodb_buffer_pool_load. rewrite: --exec $NEW_CMD
update_time [ fail ]

 
CURRENT_TEST: innodb.update_time
mysqltest: At line 74: query 'XA COMMIT 'xatrx'' failed: 1397: XAER_NOTA: Unknown XID
 
The result from queries just before the failure was:
< snip >
WHERE table_name = '`test`.`t`';
COUNT(*)
0
SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't'
AND update_time IS NOT NULL;
COUNT(*)
1
DROP TABLE big;
# Test the behavior after restart with a prepared XA transaction
XA START 'xatrx';
INSERT INTO t VALUES (5);
XA END 'xatrx';
XA PREPARE 'xatrx';
CONNECT  con1,localhost,root,,;
connection con1;
call mtr.add_suppression("Found 1 prepared XA transactions");
SELECT update_time FROM information_schema.tables WHERE table_name = 't';
update_time
NULL
XA COMMIT 'xatrx';

innodb-wl5980-linux [ fail ] //have to be fixed
innodb.innodb-autoinc 'innodb' [ fail ] Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed

     
CURRENT_TEST: innodb.innodb-autoinc
mysqltest: At line 691: query 'INSERT INTO t1 VALUES ()' failed with wrong errno 2013: 'Lost connection to MySQL server during query', instead of 1467...
 
The result from queries just before the failure was:
< snip >
  `c2` int(11) DEFAULT NULL,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
REPLACE INTO t1 (c2 ) VALUES (0);
SELECT * FROM t1;
c1	c2
-290783232	NULL
1	NULL
2	NULL
3	0
DROP TABLE t1;
CREATE TABLE t1 (c1 DOUBLE NOT NULL PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB
AUTO_INCREMENT=10000000000000000000;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` double NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`c1`)
) ENGINE=InnoDB AUTO_INCREMENT=10000000000000000000 DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES ();

innodb.innodb-2byte-collation 'innodb' [ fail ]

CURRENT_TEST: innodb.innodb-2byte-collation
mysqltest: At line 22: query 'create table 2byte_collation (c1 char(1) character set ucs2 collate ucs2_vn_ci)
engine = InnoDB' failed: 1273: Unknown collation: 'ucs2_vn_ci'
 
The result from queries just before the failure was:
< snip >
cp932_japanese_nopad_ci	cp932	1119		Yes	1
cp932_nopad_bin	cp932	1120		Yes	1
eucjpms_japanese_nopad_ci	eucjpms	1121		Yes	1
eucjpms_nopad_bin	eucjpms	1122		Yes	1
utf16_unicode_nopad_ci	utf16	1125		Yes	8
utf16_unicode_520_nopad_ci	utf16	1147		Yes	8
ucs2_unicode_nopad_ci	ucs2	1152		Yes	8
ucs2_unicode_520_nopad_ci	ucs2	1174		Yes	8
utf32_unicode_nopad_ci	utf32	1184		Yes	8
utf32_unicode_520_nopad_ci	utf32	1206		Yes	8
utf8_unicode_nopad_ci	utf8	1216		Yes	8
utf8_unicode_520_nopad_ci	utf8	1238		Yes	8
utf8mb4_unicode_nopad_ci	utf8mb4	1248		Yes	8
utf8mb4_unicode_520_nopad_ci	utf8mb4	1270		Yes	8
show collation like '%test%';
Collation	Charset	Id	Default	Compiled	Sortlen
show collation like 'ucs2_vn_ci';
Collation	Charset	Id	Default	Compiled	Sortlen
create table 2byte_collation (c1 char(1) character set ucs2 collate ucs2_vn_ci)
engine = InnoDB;


Generated at Thu Feb 08 08:13:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.