1
1
package cromwell .backend .async
2
2
3
- import java .util .concurrent .ExecutionException
4
-
5
- import akka .actor .{Actor , ActorLogging , ActorRef }
6
- import cromwell .backend .{BackendJobDescriptor , SlowJobWarning }
3
+ import akka .actor .{Actor , ActorRef }
7
4
import cromwell .backend .BackendJobExecutionActor ._
8
5
import cromwell .backend .async .AsyncBackendJobExecutionActor ._
6
+ import cromwell .backend .{BackendJobDescriptor , SlowJobWarning }
9
7
import cromwell .core .CromwellFatalExceptionMarker
8
+ import cromwell .core .logging .JobLogging
10
9
import cromwell .core .retry .{Retry , SimpleExponentialBackoff }
11
10
import cromwell .services .metadata .MetadataService .MetadataServiceResponse
12
11
12
+ import java .util .concurrent .ExecutionException
13
13
import scala .concurrent .duration ._
14
14
import scala .concurrent .{ExecutionContext , Future , Promise }
15
15
import scala .util .{Failure , Success }
@@ -41,7 +41,7 @@ object AsyncBackendJobExecutionActor {
41
41
}
42
42
}
43
43
44
- trait AsyncBackendJobExecutionActor { this : Actor with ActorLogging with SlowJobWarning =>
44
+ trait AsyncBackendJobExecutionActor { this : Actor with JobLogging with SlowJobWarning =>
45
45
46
46
def dockerImageUsed : Option [String ]
47
47
@@ -84,14 +84,20 @@ trait AsyncBackendJobExecutionActor { this: Actor with ActorLogging with SlowJob
84
84
85
85
override def receive : Receive = slowJobWarningReceive orElse {
86
86
case mode : ExecutionMode => robustExecuteOrRecover(mode)
87
- case IssuePollRequest (handle) => robustPoll(handle)
88
- case PollResponseReceived (handle) if handle.isDone => self ! Finish (handle)
87
+ case IssuePollRequest (handle) =>
88
+ jobLogger.info(" AN-522 Received IssuePollRequest" )
89
+ robustPoll(handle)
90
+ case PollResponseReceived (handle) if handle.isDone =>
91
+ jobLogger.info(" AN-522 Received PollResponseReceived with isDone=true" )
92
+ self ! Finish (handle)
89
93
case PollResponseReceived (handle) =>
90
94
// This should stash the Cancellable someplace so it can be cancelled once polling is complete.
91
95
// -Ywarn-value-discard
96
+ jobLogger.info(" AN-522 Received PollResponseReceived with isDone=false" )
92
97
context.system.scheduler.scheduleOnce(pollBackOff.backoffMillis.millis, self, IssuePollRequest (handle))
93
98
()
94
99
case Finish (SuccessfulExecutionHandle (outputs, returnCode, jobDetritusFiles, executionEvents, _)) =>
100
+ jobLogger.info(" AN-522 Received Finish with SuccessfulExecutionHandle" )
95
101
completionPromise.success(
96
102
JobSucceededResponse (jobDescriptor.key,
97
103
Some (returnCode),
@@ -104,16 +110,23 @@ trait AsyncBackendJobExecutionActor { this: Actor with ActorLogging with SlowJob
104
110
)
105
111
context.stop(self)
106
112
case Finish (FailedNonRetryableExecutionHandle (throwable, returnCode, _)) =>
113
+ jobLogger.info(" AN-522 Received Finish with FailedNonRetryableExecutionHandle" )
107
114
completionPromise.success(JobFailedNonRetryableResponse (jobDescriptor.key, throwable, returnCode))
108
115
context.stop(self)
109
116
case Finish (FailedRetryableExecutionHandle (throwable, returnCode, _)) =>
117
+ jobLogger.info(" AN-522 Received Finish with FailedRetryableExecutionHandle" )
110
118
completionPromise.success(JobFailedRetryableResponse (jobDescriptor.key, throwable, returnCode))
111
119
context.stop(self)
112
120
case Finish (cromwell.backend.async.AbortedExecutionHandle ) =>
121
+ jobLogger.info(" AN-522 Received Finish with AbortedExecutionHandle" )
113
122
completionPromise.success(JobAbortedResponse (jobDescriptor.key))
114
123
context.stop(self)
115
- case FailAndStop (t) => failAndStop(t)
116
- case response : MetadataServiceResponse => handleMetadataServiceResponse(sender(), response)
124
+ case FailAndStop (t) =>
125
+ jobLogger.info(" AN-522 Received FailAndStop" )
126
+ failAndStop(t)
127
+ case response : MetadataServiceResponse =>
128
+ jobLogger.info(" AN-522 Received MetadataServiceResponse" )
129
+ handleMetadataServiceResponse(sender(), response)
117
130
case badMessage => log.error(s " Unexpected message $badMessage. " )
118
131
}
119
132
0 commit comments