diff --git a/executor/executor.go b/executor/executor.go index aa71929859898..2086e608af9bc 100644 --- a/executor/executor.go +++ b/executor/executor.go @@ -341,6 +341,7 @@ type CancelDDLJobsExec struct { func (e *CancelDDLJobsExec) Open(ctx context.Context) error { // We want to use a global transaction to execute the admin command, so we don't use e.ctx here. errInTxn := kv.RunInNewTxn(context.Background(), e.ctx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) (err error) { + fmt.Printf("@@@@ cancelling ddl job!\n") e.errs, err = ddl.CancelJobs(txn, e.jobIDs) return }) diff --git a/executor/simple.go b/executor/simple.go index cfede41d49057..af83967e7a3da 100644 --- a/executor/simple.go +++ b/executor/simple.go @@ -1483,7 +1483,7 @@ func (e *SimpleExec) executeKillStmt(ctx context.Context, s *ast.KillStmt) error } return nil } - + // executing kill command sm := e.ctx.GetSessionManager() if sm == nil { return nil diff --git a/server/server.go b/server/server.go index 90b4a7e27101b..7437b014bc880 100644 --- a/server/server.go +++ b/server/server.go @@ -711,6 +711,17 @@ func killConn(conn *clientConn) { conn.mu.RLock() cancelFunc := conn.mu.cancelFunc conn.mu.RUnlock() + // killing connection... + // killing conn + fmt.Printf("#### kill level 2\n") + + /* + errInTxn := kv.RunInNewTxn(context.Background(), e.ctx.GetStore(), true, func(ctx context.Context, txn kv.Transaction) (err error) { + e.errs, err = ddl.CancelJobs(txn, e.jobIDs) + return + }) + */ + if cancelFunc != nil { cancelFunc() } diff --git a/testcase.sql b/testcase.sql new file mode 100644 index 0000000000000..1534a73cca8a5 --- /dev/null +++ b/testcase.sql @@ -0,0 +1,104 @@ +use test; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a int not null primary key auto_increment, b varbinary(1024)); +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM dual; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000; +INSERT INTO t1 SELECT NULL, RANDOM_BYTES(1024) FROM t1 a, t1 b, t1 c LIMIT 50000;