in src/PatchOrchestrationApplication/CoordinatorService/src/RepairManagerHelper.cs [760:792]
private async Task CancelRepairTask(RepairTask task)
{
switch (task.State)
{
case RepairTaskState.Restoring:
case RepairTaskState.Completed:
{
break;
}
case RepairTaskState.Created:
case RepairTaskState.Claimed:
case RepairTaskState.Preparing:
{
await this.fabricClient.RepairManager.CancelRepairTaskAsync(task.TaskId, 0, true);
break;
}
case RepairTaskState.Approved:
case RepairTaskState.Executing:
{
task.State = RepairTaskState.Restoring;
task.ResultStatus = RepairTaskResult.Cancelled;
await this.fabricClient.RepairManager.UpdateRepairExecutionStateAsync(task);
break;
}
default:
{
throw new Exception(string.Format("Repair task {0} in invalid state {1}", task.TaskId, task.State));
}
}
}