You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now the DDL flow for drop database/table is public -> write only -> delete only -> delete all data -> absent.
If the data is very large, we may wait much time for this DDL. If the drop DDL enters delete only state, we can think all servers can't operate this database/table, and the newer database/table with same name will use another ID, so it is safe to enter absent state after delete only state.
And we will send a delete data task to a task list, a leader task runner get this task and do the delete work asynchronously in the backend.
We should save this task in a list like DDL job, so if the task runner down, another runner can re-handle this task again. (we can use DDL owner to handle this task directly.)
TODO:
implement a task list like DDL job list in meta
after delete only, save a delete task in task list, finish DDL.
DDL owner get the delete task and run it, remove it when finished.
show statistics can show current some delete task status.
Now the DDL flow for drop database/table is public -> write only -> delete only -> delete all data -> absent.
If the data is very large, we may wait much time for this DDL. If the drop DDL enters delete only state, we can think all servers can't operate this database/table, and the newer database/table with same name will use another ID, so it is safe to enter absent state after delete only state.
And we will send a delete data task to a task list, a leader task runner get this task and do the delete work asynchronously in the backend.
We should save this task in a list like DDL job, so if the task runner down, another runner can re-handle this task again. (we can use DDL owner to handle this task directly.)
TODO:
@qiuyesuifeng , any to add?
The text was updated successfully, but these errors were encountered: