[MDEV-31682] CHAR in Aria index crashes index on UPDATE Created: 2023-07-13  Updated: 2023-07-13

Status: Open
Project: MariaDB Server
Component/s: Data Manipulation - Update
Affects Version/s: 10.11.4
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Emil Steen Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: regression
Environment:

Windows 10 (22H2) & Windows Server 2022 (21H2)


Issue Links:
Relates
relates to MDEV-31675 Aria index crashes on UPDATE/INSERT/D... Open

 Description   

Running this query crashes the index (with "'126 "Index is corrupted"' for '.\mydb\t.MAI'") on 10.11.3 and 10.11.4.

 
-- Pre-Clean up
DROP TABLE if exists t;
 
CREATE TABLE `t` (
	`id` INT(10) NOT NULL AUTO_INCREMENT,
	`Source` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb3_bin',
	`SourceId` CHAR(10) NULL DEFAULT NULL COLLATE 'utf8mb3_bin',
	`DeleteStamp` DATETIME(3) NULL DEFAULT NULL,
	PRIMARY KEY (`id`) USING BTREE,
	INDEX `Full` (`SourceId`, `Source`, `DeleteStamp`) USING BTREE
)
COLLATE='utf8mb3_bin'
ENGINE=Aria
AUTO_INCREMENT=2537655
;
 
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
INSERT INTO t (SOURCE, sourceid) VALUES ('abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNO', '123456');
 
-- [ERROR] mysqld.exe: Got error '126 "Index is corrupted"' for '.\mydb\t.MAI'
UPDATE t SET DeleteStamp = NOW();
 
-- Clean up
DROP TABLE t;

I've ran the query several times on version 10.4.11 without any issues.

  • With (much?) more data the index crashes also when doing insert and delete.
  • Increasing the length of both CHAR fields will solve the crash.
  • Replacing CHAR with VARCHAR will solve the crash.

Generated at Thu Feb 08 10:25:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.