Skip to content

Commit

Permalink
swap onTransitions in WA
Browse files Browse the repository at this point in the history
  • Loading branch information
Thibault Jeandet committed Mar 28, 2017
1 parent b0b7870 commit 84274a3
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions engine/src/main/scala/cromwell/engine/workflow/WorkflowActor.scala
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ class WorkflowActor(val workflowId: WorkflowId,
startWith(WorkflowUnstartedState, WorkflowActorData.empty)

pushCurrentStateToMetadataService(workflowId, WorkflowUnstartedState.workflowState)

override def supervisorStrategy: SupervisorStrategy = OneForOneStrategy() { case _ => Escalate }

when(WorkflowUnstartedState) {
Expand Down Expand Up @@ -275,17 +275,6 @@ class WorkflowActor(val workflowId: WorkflowId,
stay
}

onTransition {
case fromState -> toState =>
workflowLogger.debug(s"transitioning from {} to {}", arg1 = fromState, arg2 = toState)
// This updates the workflow status
// Only publish "External" state to metadata service
// workflowState maps a state to an "external" state (e.g all states extending WorkflowActorRunningState map to WorkflowRunning)
if (fromState.workflowState != toState.workflowState) {
pushCurrentStateToMetadataService(workflowId, toState.workflowState)
}
}

onTransition {
case (oldState, terminalState: WorkflowActorTerminalState) =>
workflowLogger.debug(s"transition from {} to {}. Stopping self.", arg1 = oldState, arg2 = terminalState)
Expand Down Expand Up @@ -315,18 +304,29 @@ class WorkflowActor(val workflowId: WorkflowId,
}

workflowOptions.get(FinalWorkflowLogDir).toOption match {
case Some(destinationDir) =>
workflowLogCopyRouter ! CopyWorkflowLogsActor.Copy(workflowId, PathFactory.buildPath(destinationDir, pathBuilders))
case None if WorkflowLogger.isTemporary => workflowLogger.deleteLogFile() match {
case Failure(f) => log.error(f, "Failed to delete workflow log")
case _ =>
}
case Some(destinationDir) =>
workflowLogCopyRouter ! CopyWorkflowLogsActor.Copy(workflowId, PathFactory.buildPath(destinationDir, pathBuilders))
case None if WorkflowLogger.isTemporary => workflowLogger.deleteLogFile() match {
case Failure(f) => log.error(f, "Failed to delete workflow log")
case _ =>
}
case _ =>
}
}
context stop self
}

onTransition {
case fromState -> toState =>
workflowLogger.debug(s"transitioning from {} to {}", arg1 = fromState, arg2 = toState)
// This updates the workflow status
// Only publish "External" state to metadata service
// workflowState maps a state to an "external" state (e.g all states extending WorkflowActorRunningState map to WorkflowRunning)
if (fromState.workflowState != toState.workflowState) {
pushCurrentStateToMetadataService(workflowId, toState.workflowState)
}
}

private def finalizationSucceeded(data: WorkflowActorData) = {
val finalState = data.lastStateReached match {
case StateCheckpoint(WorkflowAbortingState, None) => WorkflowAbortedState
Expand Down

0 comments on commit 84274a3

Please sign in to comment.