Check for number of workers before soft failing the task. #104195
@ -134,6 +134,11 @@ func TestTaskUpdateFailed(t *testing.T) {
|
|||||||
// This returns 1, which is less than the failure threshold -> soft failure expected.
|
// This returns 1, which is less than the failure threshold -> soft failure expected.
|
||||||
mf.persistence.EXPECT().AddWorkerToTaskFailedList(gomock.Any(), &mockTask, &worker).Return(1, nil)
|
mf.persistence.EXPECT().AddWorkerToTaskFailedList(gomock.Any(), &mockTask, &worker).Return(1, nil)
|
||||||
|
|
||||||
|
mf.persistence.EXPECT().WorkersLeftToRun(gomock.Any(), &mockJob, "misc").
|
||||||
|
Return(map[string]bool{"60453eec-5a26-43e9-9da2-d00506d492cc": true, "ce312357-29cd-4389-81ab-4d43e30945f8": true}, nil)
|
||||||
|
mf.persistence.EXPECT().FetchTaskFailureList(gomock.Any(), &mockTask).
|
||||||
|
Return([]*persistence.Worker{ /* It shouldn't matter whether the failing worker is here or not. */ }, nil)
|
||||||
|
|
||||||
// Expect soft failure.
|
// Expect soft failure.
|
||||||
mf.stateMachine.EXPECT().TaskStatusChange(gomock.Any(), &mockTask, api.TaskStatusSoftFailed)
|
mf.stateMachine.EXPECT().TaskStatusChange(gomock.Any(), &mockTask, api.TaskStatusSoftFailed)
|
||||||
mf.logStorage.EXPECT().WriteTimestamped(gomock.Any(), jobID, taskID,
|
mf.logStorage.EXPECT().WriteTimestamped(gomock.Any(), jobID, taskID,
|
||||||
@ -220,9 +225,9 @@ func TestBlockingAfterFailure(t *testing.T) {
|
|||||||
{
|
{
|
||||||
// Mimick that there is another worker to work on this task, so the job should continue happily.
|
// Mimick that there is another worker to work on this task, so the job should continue happily.
|
||||||
mf.persistence.EXPECT().WorkersLeftToRun(gomock.Any(), &mockJob, "misc").
|
mf.persistence.EXPECT().WorkersLeftToRun(gomock.Any(), &mockJob, "misc").
|
||||||
Return(map[string]bool{"60453eec-5a26-43e9-9da2-d00506d492cc": true}, nil)
|
Return(map[string]bool{"60453eec-5a26-43e9-9da2-d00506d492cc": true, "ce312357-29cd-4389-81ab-4d43e30945f8": true}, nil).Times(2)
|
||||||
mf.persistence.EXPECT().FetchTaskFailureList(gomock.Any(), &mockTask).
|
mf.persistence.EXPECT().FetchTaskFailureList(gomock.Any(), &mockTask).
|
||||||
Return([]*persistence.Worker{ /* It shouldn't matter whether the failing worker is here or not. */ }, nil)
|
Return([]*persistence.Worker{ /* It shouldn't matter whether the failing worker is here or not. */ }, nil).Times(2)
|
||||||
|
|
||||||
// Expect the Worker to be added to the list of failed workers for this task.
|
// Expect the Worker to be added to the list of failed workers for this task.
|
||||||
// This returns 1, which is less than the failure threshold -> soft failure.
|
// This returns 1, which is less than the failure threshold -> soft failure.
|
||||||
|
Loading…
Reference in New Issue
Block a user