diff --git a/pkg/frontend/cdc.go b/pkg/frontend/cdc.go index af4ba56e5f97..113ade4e5767 100644 --- a/pkg/frontend/cdc.go +++ b/pkg/frontend/cdc.go @@ -1477,10 +1477,7 @@ func runUpdateCdcTask( updateCdcTaskFunc, conds..., ) - if err != nil { - return err - } - return + return err } func updateCdcTask( diff --git a/pkg/taskservice/mysql_task_storage.go b/pkg/taskservice/mysql_task_storage.go index 87de2e133ba6..5adfe474d910 100644 --- a/pkg/taskservice/mysql_task_storage.go +++ b/pkg/taskservice/mysql_task_storage.go @@ -1125,7 +1125,8 @@ func (m *mysqlTaskStorage) UpdateCdcTask(ctx context.Context, targetStatus task. if (targetStatus == task.TaskStatus_ResumeRequested || targetStatus == task.TaskStatus_RestartRequested) && dTask.TaskStatus != task.TaskStatus_Paused || targetStatus == task.TaskStatus_PauseRequested && dTask.TaskStatus != task.TaskStatus_Running { err = moerr.NewInternalErrorf(ctx, - "status can not be change, now it is %s", + "Task %s status can not be change, now it is %s", + dTask.Details.Details.(*task.Details_CreateCdc).CreateCdc.TaskName, dTask.TaskStatus.String()) return 0, err } diff --git a/pkg/taskservice/mysql_task_storage_test.go b/pkg/taskservice/mysql_task_storage_test.go index b89bfa8976a2..edeffc0d6def 100644 --- a/pkg/taskservice/mysql_task_storage_test.go +++ b/pkg/taskservice/mysql_task_storage_test.go @@ -319,6 +319,20 @@ func TestAddCdcTask(t *testing.T) { assert.NoError(t, err) assert.Greater(t, affected, 0) + mock.ExpectBegin() + + dt.TaskStatus = task.TaskStatus_Paused + mock.ExpectQuery(selectDaemonTask + " order by task_id").WillReturnRows( + newDaemonTaskRows(t, dt), + ) + + _, err = storage.UpdateCdcTask( + context.Background(), + task.TaskStatus_PauseRequested, + callback2, + ) + assert.Error(t, err) + mock.ExpectClose() require.NoError(t, storage.Close()) }