[MDEV-21641] CHECK reports a misplaced row on partitioned table after dropping versioning Created: 2020-02-03  Updated: 2023-07-20  Resolved: 2023-07-20

Status: Closed
Project: MariaDB Server
Component/s: Partitioning, Storage Engine - InnoDB, Versioned Tables
Affects Version/s: 10.3, 10.4
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Aleksey Midenkov
Resolution: Cannot Reproduce Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-17091 Assertion `old_part_id == m_last_part... Closed
relates to MDEV-22413 Server hangs upon UPDATE/DELETE on a ... Closed
relates to MDEV-21011 CHECK command wrongly reports table c... Closed

 Description   

Note: MDEV-21011 has already been fixed in all branches.

--source include/have_innodb.inc
--source include/have_partition.inc
 
CREATE TABLE t1 (pk INT PRIMARY KEY) WITH SYSTEM VERSIONING ENGINE=InnoDB PARTITION BY KEY() PARTITIONS 3;
INSERT INTO t1 VALUES (1),(2);
ALTER TABLE t1 DROP SYSTEM VERSIONING;
CHECK TABLE t1;
 
# Cleanup
DROP TABLE t1;

10.3 b0fa3080

CHECK TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	check	error	Found a misplaced row
test.t1	check	error	Partition p1 returned error
test.t1	check	error	Upgrade required. Please do "REPAIR TABLE `t1`" or dump/reload to fix it!

Reproducible on 10.3-10.5 with at least MyISAM and InnoDB.



 Comments   
Comment by Aleksey Midenkov [ 2020-03-13 ]

Not reproducible in 10.3, 10.4.

Comment by Elena Stepanova [ 2020-03-13 ]

Sorry my bad, I pasted an incomplete test case (not MTR-friendly). The table should be InnoDB which requires explicit ENGINE clause for MTR, and include files were missing. I've fixed it in the description now.

Comment by Aleksey Midenkov [ 2023-07-20 ]

Doesn't reproduce in latest 10.4, 10.7

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