From 368e6dbe674f28f0e97ee5336094c29f2a09c793 Mon Sep 17 00:00:00 2001 From: Viren Baraiya Date: Sun, 23 Apr 2023 12:32:22 -0700 Subject: [PATCH 1/3] inherit task to domains if not specified --- .../conductor/core/execution/tasks/StartWorkflow.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/com/netflix/conductor/core/execution/tasks/StartWorkflow.java b/core/src/main/java/com/netflix/conductor/core/execution/tasks/StartWorkflow.java index 804642a785..76edb8a68f 100644 --- a/core/src/main/java/com/netflix/conductor/core/execution/tasks/StartWorkflow.java +++ b/core/src/main/java/com/netflix/conductor/core/execution/tasks/StartWorkflow.java @@ -12,6 +12,7 @@ */ package com.netflix.conductor.core.execution.tasks; +import java.util.HashMap; import java.util.Map; import javax.validation.Validator; @@ -65,6 +66,13 @@ public void start( return; } + if (request.getTaskToDomain() == null || request.getTaskToDomain().isEmpty()) { + Map workflowTaskToDomainMap = workflow.getTaskToDomain(); + if (workflowTaskToDomainMap != null) { + request.setTaskToDomain(new HashMap<>(workflowTaskToDomainMap)); + } + } + // set the correlation id of starter workflow, if its empty in the StartWorkflowRequest request.setCorrelationId( StringUtils.defaultIfBlank( From 31f9a7e1675f78b9533aa2c6ba7fc40b40793231 Mon Sep 17 00:00:00 2001 From: Viren Baraiya Date: Sun, 23 Apr 2023 12:34:00 -0700 Subject: [PATCH 2/3] allow terminated as a valid status --- .../netflix/conductor/core/execution/tasks/Terminate.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/netflix/conductor/core/execution/tasks/Terminate.java b/core/src/main/java/com/netflix/conductor/core/execution/tasks/Terminate.java index 75745987ae..230ab82c21 100644 --- a/core/src/main/java/com/netflix/conductor/core/execution/tasks/Terminate.java +++ b/core/src/main/java/com/netflix/conductor/core/execution/tasks/Terminate.java @@ -22,8 +22,7 @@ import com.netflix.conductor.model.WorkflowModel; import static com.netflix.conductor.common.metadata.tasks.TaskType.TASK_TYPE_TERMINATE; -import static com.netflix.conductor.common.run.Workflow.WorkflowStatus.COMPLETED; -import static com.netflix.conductor.common.run.Workflow.WorkflowStatus.FAILED; +import static com.netflix.conductor.common.run.Workflow.WorkflowStatus.*; /** * Task that can terminate a workflow with a given status and modify the workflow's output with a @@ -94,7 +93,9 @@ public static String getTerminationWorkflowOutputParameter() { } public static Boolean validateInputStatus(String status) { - return COMPLETED.name().equals(status) || FAILED.name().equals(status); + return COMPLETED.name().equals(status) + || FAILED.name().equals(status) + || TERMINATED.name().equals(status); } @SuppressWarnings("unchecked") From 7f1f1e0984231586309eab0b2125c627164daead Mon Sep 17 00:00:00 2001 From: Viren Baraiya Date: Sun, 23 Apr 2023 12:39:05 -0700 Subject: [PATCH 3/3] update the constraints for the wait task --- .../conductor/validations/WorkflowTaskTypeConstraint.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/netflix/conductor/validations/WorkflowTaskTypeConstraint.java b/core/src/main/java/com/netflix/conductor/validations/WorkflowTaskTypeConstraint.java index 6747482550..888dd7a49e 100644 --- a/core/src/main/java/com/netflix/conductor/validations/WorkflowTaskTypeConstraint.java +++ b/core/src/main/java/com/netflix/conductor/validations/WorkflowTaskTypeConstraint.java @@ -275,11 +275,9 @@ private boolean isWaitTaskValid( } try { - if (StringUtils.isNotBlank(duration) - && !(duration.startsWith("${") && duration.endsWith("}"))) { + if (StringUtils.isNotBlank(duration) && !(duration.startsWith("${"))) { DateTimeUtils.parseDuration(duration); - } else if (StringUtils.isNotBlank(until) - && !(until.startsWith("${") && until.endsWith("}"))) { + } else if (StringUtils.isNotBlank(until) && !(until.startsWith("${"))) { DateTimeUtils.parseDate(until); } } catch (DateTimeParseException e) {