同一个表中jobid小的先执行,同一表的DDL串行执行, 前面有add index使用一个队列,导致后面的drop index被阻塞,而drop index是使用另一个job queue,且是Job queue的第一个,所以导致后面的modify column 等阻塞。
我测试了下:
1、 由于同表上ddl必须串行依赖,前面的没执行完导致cancel drop index 一直处于canceling状态,等前面执行完后很快变成canceld;
2、同时执行表1仅add index,表2执行modify column 无阻塞,能并行执行。
为避免阻塞其他表的非add index ddl,避免在相同的表执行add index时执行其他类型DDL