Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

Commit

Permalink
Merge pull request #3598 from james-deee/jtd/fix-npe-if-no-workflow-f…
Browse files Browse the repository at this point in the history
…ound-verify

Fix NPE for verify and repair if workflow not found
  • Loading branch information
v1r3n authored May 8, 2023
2 parents 01c40fe + e131870 commit 5bcd22a
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
*/
package com.netflix.conductor.core.reconciliation;

import java.util.Optional;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Predicate;

Expand All @@ -24,6 +25,7 @@
import com.netflix.conductor.annotations.VisibleForTesting;
import com.netflix.conductor.common.metadata.tasks.TaskType;
import com.netflix.conductor.core.config.ConductorProperties;
import com.netflix.conductor.core.exception.NotFoundException;
import com.netflix.conductor.core.execution.tasks.SystemTaskRegistry;
import com.netflix.conductor.core.execution.tasks.WorkflowSystemTask;
import com.netflix.conductor.core.utils.QueueUtils;
Expand Down Expand Up @@ -101,7 +103,12 @@ public boolean verifyAndRepairWorkflow(String workflowId, boolean includeTasks)

/** Verify and repair tasks in a workflow. */
public void verifyAndRepairWorkflowTasks(String workflowId) {
WorkflowModel workflow = executionDAO.getWorkflow(workflowId, true);
WorkflowModel workflow =
Optional.ofNullable(executionDAO.getWorkflow(workflowId, true))
.orElseThrow(
() ->
new NotFoundException(
"Could not find workflow: " + workflowId));
workflow.getTasks().forEach(this::verifyAndRepairTask);
// repair the parent workflow if needed
verifyAndRepairWorkflow(workflow.getParentWorkflowId());
Expand Down

0 comments on commit 5bcd22a

Please sign in to comment.