Repository: incubator-gobblin
Updated Branches:
  refs/heads/master dc2d9e891 -> 0fe256f22


[GOBBLIN-665] Throw an exception if job orchestration fails on a SpecExecutor.[]

Closes #2536 from sv2000/AzkabanClientStatus


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/0fe256f2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/0fe256f2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/0fe256f2

Branch: refs/heads/master
Commit: 0fe256f22368cffcad3ffbbe4bd3b757199c7789
Parents: dc2d9e8
Author: suvasude <[email protected]>
Authored: Wed Jan 16 16:34:41 2019 -0800
Committer: Hung Tran <[email protected]>
Committed: Wed Jan 16 16:34:41 2019 -0800

----------------------------------------------------------------------
 .../gobblin/service/modules/orchestration/DagManager.java      | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/0fe256f2/gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java
----------------------------------------------------------------------
diff --git 
a/gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java
 
b/gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java
index 4f1e10f..f3335bc 100644
--- 
a/gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java
+++ 
b/gobblin-service/src/main/java/org/apache/gobblin/service/modules/orchestration/DagManager.java
@@ -393,7 +393,11 @@ public class DagManager extends AbstractIdleService {
         TimingEvent jobOrchestrationTimer = this.eventSubmitter.isPresent() ? 
this.eventSubmitter.get().
             getTimingEvent(TimingEvent.LauncherTimings.JOB_ORCHESTRATED) : 
null;
 
-        producer.addSpec(jobSpec);
+        //Submit the job to the SpecProducer, which in turn performs the 
actual job submission to the SpecExecutor instance.
+        // The SpecProducer implementations submit the job to the underlying 
executor and return when the submission is complete,
+        // either successfully or unsuccessfully. To catch any exceptions in 
the job submission, the DagManagerThread
+        // blocks (by calling Future#get()) until the submission is completed.
+        producer.addSpec(jobSpec).get();
 
         if (jobOrchestrationTimer != null) {
           jobOrchestrationTimer.stop(jobMetadata);

Reply via email to