[MDEV-28161] parts.debug_innodb_fail, parts.debug_innodb_crash and parts.partition_special_innodb tests failed on hfs+ Created: 2022-03-23  Updated: 2023-11-28

Status: Open
Project: MariaDB Server
Component/s: Partitioning, Tests
Affects Version/s: 10.8
Fix Version/s: 10.11

Type: Bug Priority: Minor
Reporter: Alice Sherepa Assignee: Alexey Botchkov
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Ubuntu 20.04 + partition formatted as hfsplus:
10.8 f6fcf827b379fc069563d18. I did not try on the other versions.

 
parts.debug_innodb_fail 'innodb'         w2 [ fail ]
        Test ended at 2022-03-23 06:04:05
 
CURRENT_TEST: parts.debug_innodb_fail
mysqltest: In included file "./suite/parts/inc/partition_fail.inc": 
included from ./suite/parts/inc/partition_fail_drop.inc at line 16:
included from ./suite/parts/inc/partition_mgm_crash.inc at line 40:
included from /10.8/mysql-test/suite/parts/t/debug_innodb_fail.test at line 23:
At line 24: query '$create_statement' failed: ER_TABLE_EXISTS_ERROR (1050): Table '`test`.`t1` /* Partition `p10` */' already exists
 
The result from queries just before the failure was:
< snip >
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
 PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
SELECT * FROM t1;
a	b
1	Original from partition p0
2	Original from partition p0
3	Original from partition p0
4	Original from partition p0
DROP TABLE t1;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
 
More results from queries before failure can be found in /10.8/mysql-test/var/2/log/debug_innodb_fail.log

 
parts.debug_innodb_crash 'innodb'        w7 [ fail ]
        Test ended at 2022-03-23 06:04:02
 
CURRENT_TEST: parts.debug_innodb_crash
mysqltest: In included file "./suite/parts/inc/partition_crash.inc": 
included from ./suite/parts/inc/partition_crash_add.inc at line 22:
included from ./suite/parts/inc/partition_mgm_crash.inc at line 25:
included from /10.8/mysql-test/suite/parts/t/debug_innodb_crash.test at line 23:
At line 18: query '$crash_statement' failed with wrong errno ER_TABLE_EXISTS_ERROR (1050): 'Table '`test`.`t1` /* Partition `p20` */' already exists', instead of <Unknown> (2013)...
 
The result from queries just before the failure was:
< snip >
Table Create Table
t1  CREATE TABLE `t1` (
  `a` int(11) DEFAULT NULL,
  `b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
 PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
 PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
11  Original from partition p1
12  Original from partition p1
13  Original from partition p1
14  Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
 
More results from queries before failure can be found in /10.8/mysql-test/var/7/log/debug_innodb_crash.log

 
parts.partition_special_innodb 'innodb'  w6 [ fail ]
        Test ended at 2022-03-23 06:08:14
 
CURRENT_TEST: parts.partition_special_innodb
mysqltest: At line 93: query 'ALTER TABLE t1 ADD PARTITION PARTITIONS 2' failed with wrong errno ER_TABLE_EXISTS_ERROR (1050): 'Table '`test`.`t1` /* Temporary Partition `p0` */' already exists', instead of ER_LOCK_WAIT_TIMEOUT (1205)...
 
The result from queries just before the failure was:
< snip >
ALTER TABLE t1 AUTO_INCREMENT = 10;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
disconnect con2;
disconnect con1;
connection default;
DROP TABLE t1;
#
# Bug#53676: Unexpected errors and possible table corruption on
#            ADD PARTITION and LOCK TABLE
CREATE TABLE t1 ( i INT NOT NULL AUTO_INCREMENT PRIMARY KEY, f INT )
ENGINE = InnoDB PARTITION BY HASH(i) PARTITIONS 2;
INSERT INTO t1 VALUES (2, 2), (3, 3), (4, 4), (5, 5);
LOCK TABLE t1 READ;
connect  con2,localhost,root,,;
SET lock_wait_timeout = 0;
# First attempt: lock wait timeout (as expected)
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
# Second attempt: says that partition already exists
ALTER TABLE t1 ADD PARTITION PARTITIONS 2;


Generated at Thu Feb 08 09:58:32 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.