ADMIN CANCEL DDL statement allows you to cancel a running DDL job. The
job_id can be found by running
ADMIN SHOW DDL JOBS.
ADMIN CANCEL DDL statement also allows you to cancel a DDL job that is committed but not yet completed executing. After the cancellation, the SQL statement that executes the DDL job returns the
ERROR 8214 (HY000): Cancelled DDL job error. If you cancel a DDL job that has already been completed, you will see the
DDL Job:90 not found error in the
RESULT column, which indicates that the job has been removed from the DDL waiting queue.
AdminStmt ::= 'ADMIN' ( 'SHOW' ( 'DDL' ( 'JOBS' Int64Num ) | 'RECOVER' 'INDEX' TableName Identifier | 'CLEANUP' ( 'INDEX' TableName Identifier | 'TABLE' 'LOCK' TableNameList ) | 'CHECKSUM' 'TABLE' TableNameList | 'CANCEL' 'DDL' 'JOBS' NumList | 'RELOAD' ( 'EXPR_PUSHDOWN_BLACKLIST' | 'OPT_RULE_BLACKLIST' | 'BINDINGS' ) | 'PLUGINS' ( 'ENABLE' | 'DISABLE' ) PluginNameList | 'REPAIR' 'TABLE' TableName CreateTableStmt | ( 'FLUSH' | 'CAPTURE' | 'EVOLVE' ) 'BINDINGS' ) NumList ::= Int64Num ( ',' Int64Num )*
To cancel the currently running DDL jobs and return whether the corresponding jobs are successfully cancelled, use
ADMIN CANCEL DDL JOBS:
ADMIN CANCEL DDL JOBS job_id [, job_id] ...;
If the operation fails to cancel the jobs, specific reasons are displayed.
This statement is a TiDB extension to MySQL syntax.