Ignore the not found error in some cases

Ignore the not found error in some cases
Fixes #14154

Signed-off-by: Wenkai Yin <yinw@vmware.com>
This commit is contained in:
Wenkai Yin 2021-02-03 20:26:50 +08:00
parent e51b98b8dd
commit 0d44d9a2ac
1 changed files with 9 additions and 1 deletions

View File

@ -167,8 +167,11 @@ func (e *executionManager) sweep(ctx context.Context, vendorType string, vendorI
continue
}
if err = e.Delete(ctx, execution.ID); err != nil {
// the execution may be deleted by the other sweep operation, ignore the not found error
if errors.IsNotFoundErr(err) {
continue
}
log.Errorf("failed to delete the execution %d: %v", execution.ID, err)
continue
}
}
}
@ -314,6 +317,11 @@ func (e *executionManager) Delete(ctx context.Context, id int64) error {
WithMessage("the execution %d has tasks that aren't in final status, stop the tasks first", id)
}
if err = e.taskDAO.Delete(ctx, task.ID); err != nil {
// the tasks may be deleted by the other execution deletion operation in the same time(e.g. execution sweeper),
// ignore the not found error for the tasks
if errors.IsNotFoundErr(err) {
continue
}
return err
}
}