|
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'
|
|