fix bug, ddl hung due to scheduler not clean task when add task fail

This commit is contained in:
AnimationFan 2024-06-20 11:26:18 +00:00 committed by ob-robot
parent f67f7ccbd3
commit 97f10fdb8a

View File

@ -187,8 +187,6 @@ int ObDDLTaskQueue::add_task_to_last(ObDDLTask *task)
if (OB_UNLIKELY(!is_inited_)) {
ret = common::OB_NOT_INIT;
LOG_WARN("ObDDLTaskQueue has not been inited", K(ret));
} else if (has_set_stop()) { /* skip, task queue is stopped, not add*/
LOG_INFO("queue is stop, skip add task", K(ret), KPC(task));
} else if (OB_ISNULL(task)) {
ret = common::OB_INVALID_ARGUMENT;
LOG_WARN("invalid argument", K(ret), KP(task));
@ -887,7 +885,7 @@ void ObDDLScheduler::run1()
lib::set_thread_name("DDLTaskExecutor");
THIS_WORKER.set_worker_level(1);
THIS_WORKER.set_curr_request_level(1);
while (!has_set_stop()) {
while (true) {
const bool stop = task_queue_.has_set_stop();
bool do_idle = false;
if (OB_FAIL(task_queue_.get_next_task(task))) {