-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Concurrent DDL Execution #18396
Comments
@lonng Would you mind to give more description for the necessary of DDL parallel execution, for example there already is a huge table's |
Would it be more correct to call this "concurrent ddl"? This distinguishes it from #19386 which is to implement parallelism across the cluster. |
done |
Hi @nullnotnil , this feature is planned to finish in 2020 Q4. |
I think we also need a parallel level control and rate limitation policy to prevent DDL job eat all disk IO. And there also should be a method to online reduce the parallel level. |
For online reconfiguration, may I suggest using In #21424 I am working on a way for changing sessionvars to execute arbitrary code. It is a little bit more complicated for globalvars because the semantics need to be worked out for the local instance + other tidb instances. |
Hello! Is there any update to the ETA for this feature? It seems that it is still not possible to concurrently add indexes to separate tables. |
@kolbe Hi, this feature won't be scheduled to release in the short-term. |
Close this after #32031 |
Feature Request
Currently, TiDB initial support for concurrent DDL
(The DDL of "add index" and the other types of DDL can be executed concurrently when they are on the different tables. Related to #6955). When more services are connected to the same cluster, the Same type of DDL statement is usually blocked between different services.
In this case, the DDL capabilities will block more service to use the TiDB database. But TiDB can do more things to extend the DDL capabilities, this PR proposes to support execute DDL parallelly
For example:
Teams A and B share the same TiDB cluster. Team A cannot do any add index operation when team B is executing a DDL
alter table t1 add index idx_ab(a,b)
, which will block the team A upgrading service especially when the tablet1
is huge (eg: greater than 1B rows).But there are some risks if we support add index parallelly, eg: the cluster load will increase if add index parallelly, which will impact the cluster performance.
Category
Feature/Improvement
Value
3: Make TiDB support more scenarios.
TODO list
admin show ddl jobs/queries
).The text was updated successfully, but these errors were encountered: