Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
N/A
-
None
Description
It appears that the "online" alter gets confused when concurrent DML moves rows between partitions.
--source include/have_partition.inc
|
--source include/have_debug_sync.inc
|
|
create table t (a int) partition by hash(a) partitions 2; |
insert into t values (1),(3); |
set debug_sync= 'alter_table_online_progress WAIT_FOR goforit'; |
--send
|
alter table t force, algorithm=copy, lock=none; |
|
--connect (con1,localhost,root,,)
|
update t set a = a + 1; |
set debug_sync= 'now SIGNAL goforit'; |
|
--connection default
|
--reap
|
|
select * from t; |
|
# Cleanup
|
set debug_sync= RESET; |
drop table t; |
bb-11.0-oalter 90cf6464fa |
mysqltest: At line 15: query 'reap' failed: ER_KEY_NOT_FOUND (1032): Can't find record in 't' |
Attachments
Issue Links
- causes
-
MDEV-31040 Server crashes in MYSQL_LOG::is_open upon ALTER on partitioned table
- Closed
- includes
-
MDEV-31040 Server crashes in MYSQL_LOG::is_open upon ALTER on partitioned table
- Closed
- is caused by
-
MDEV-16329 Engine-independent online ALTER TABLE
- Closed
- relates to
-
MDEV-28808 Test MDEV-16329 (ALTER ONLINE TABLE) - Core server part
- Closed