Closed hawkingrei closed 1 year ago
/run-unit-test
/run-all-tests
/run-unit-test
/run-unit-test
/run-check_dev
/run-unit-test
/run-check_dev_2
/run-unit-test
/run-unit-test
/run-all-tests
/run-all-tests
/run-all-tests
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/7b9cd33e861095a82a27b272e6c9fb57ae5ae647
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/e2908a7c37db2daddea6802fdf419333b8c75159
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/699dd14a931f8677cd88843d6c7d3ade16818cbf
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/04305908b7545c69530de84027f527bc20375606
/run-mysql-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/9dab8fd2822b16ee73261727ccbffceccb70a04e
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/37adf2f98e4a46063017bb37a75d95df5e3ec8c8
/run-build
/run-all-tests
/run-unit-test
/run-build
/run-mysql-test
/run-unit-test
the timeout happens because bootstrap takes more than 10s in the test.
/run-unit-test
/run-unit-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/bbc20e62d82f6e03ec5eb4fa51e0ec26986a3531
all tests passed!
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/ea199dca1ca23d923f5563b1b61f470535ffa042
/run-check_dev_2
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/56a5a2847471020f000811c41c7f75521ac2ce83
/run-mysql-test
/run-unit-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/e0455b7877f8f60225691503e4779b29914c79e9
all tests passed!
all tests passed again!
/run-unit-test
/run-unit-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/19dfe59a27737f2b1669d235c2c824e07ac05eeb
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/416ab6cfc2e730708720f0d09158db602ce9d901
force push for syncing merge.
/run-unit-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/ef6f364ad4f44cd90d5165da081de5f67086d015
/run-unit-test
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/7ed2685368953e6b258ff453f18d57a3e27618aa
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/4b5341ce3d50b47e9259172042fb87d94e6e1cfe
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/1927197ed5d11969149eaf051c0fb9ec238c66d4
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/b87229a27dbc22a575448ee20d86a20e9e2a160c
Code Coverage Details: https://codecov.io/github/pingcap/tidb/commit/c3974257cfc7ef41a024446441522516d08ac97e
Signed-off-by: Weizhen Wang wangweizhen@pingcap.com Signed-off-by: xiongjiwei xiongjiwei1996@outlook.com Signed-off-by: wjhuang2016 huangwenjun1997@gmail.com
What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tidb/issues/32031
this is a big PR and we split it into many commits, every commit almost has a single purpose. I will introduce them briefly, you may need to reference the doc https://github.com/pingcap/tidb/pull/33629
init ddl tables create
tidb_ddl_job
,tidb_ddl_reorg
,tidb_ddl_history
tables with raw meta write, these 3 tables is use to replace theddl job queue
andreorg
andhistory hash table
. you can see this part in docsetup concurrent ddl env and add ddl worker pool this commit adds the
ddl worker pool
definition, theddl job manager
will find a job and ship it to a worker in the worker pool. Also, this commit provides asessionctx
wrapper, only use in ddl relate. it just wrapsbegin
,commit
andexecute
.add ddl manager to handle ddl job this commit implements the ddl manager, which is used for
you can ref the doc. Also, it adds a function
HandleDDLJob
which will do the ddl job, and it is a replacer ofHandleDDLJobQueue
. The last thing of this commit is addingschemaVersionManager
to update the schema version in a new txn, it prevents the txn conflict with the schema version key.reorg handler for concurrent ddl just implements the partner of the reorg information.
manage ddl jobs for concurrent ddl same as above, the partner of
add job
,delete job
and many other related to history jobchange ddl interface caller because many of the functions need a session now, we just change the caller
add metrics for concurrent ddl add metrics
migrate ddl between table and queue support switch between the old and new ddl framework, migrate the existing ddl job between queue and table
What is changed and how it works?
Check List
Tests
Release note