This is an automated email from the ASF dual-hosted git repository.

suvasude pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b2d382  [GOBBLIN-1213] Skip job state deserialization during 
SingleFailInCreat…
3b2d382 is described below

commit 3b2d3823da53e55a213d8aeb81fa2fb579ee8f3f
Author: sv2000 <[email protected]>
AuthorDate: Wed Jul 15 18:50:25 2020 -0700

    [GOBBLIN-1213] Skip job state deserialization during SingleFailInCreat…
    
    Closes #3061 from
    sv2000/singleFailInTaskCreateFailure
---
 .../gobblin/cluster/SingleFailInCreationTask.java     |  3 ++-
 .../java/org/apache/gobblin/cluster/SingleTask.java   | 19 ++++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git 
a/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleFailInCreationTask.java
 
b/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleFailInCreationTask.java
index c0b3409..2a4105c 100644
--- 
a/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleFailInCreationTask.java
+++ 
b/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleFailInCreationTask.java
@@ -36,7 +36,8 @@ import org.apache.gobblin.runtime.util.StateStores;
 public class SingleFailInCreationTask extends SingleTask {
   public SingleFailInCreationTask(String jobId, Path workUnitFilePath, Path 
jobStateFilePath, FileSystem fs,
       TaskAttemptBuilder taskAttemptBuilder, StateStores stateStores, Config 
dynamicConfig) {
-    super(jobId, workUnitFilePath, jobStateFilePath, fs, taskAttemptBuilder, 
stateStores, dynamicConfig);
+    //Since this is a dummy task that is designed to fail immediately on 
run(), we skip fetching the job state.
+    super(jobId, workUnitFilePath, jobStateFilePath, fs, taskAttemptBuilder, 
stateStores, dynamicConfig, true);
   }
 
   @Override
diff --git 
a/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleTask.java 
b/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleTask.java
index 47571a2..b4397f1 100644
--- a/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleTask.java
+++ b/gobblin-cluster/src/main/java/org/apache/gobblin/cluster/SingleTask.java
@@ -77,12 +77,17 @@ public class SingleTask {
   private Condition _taskAttemptBuilt;
   private Lock _lock;
 
+  SingleTask(String jobId, Path workUnitFilePath, Path jobStateFilePath, 
FileSystem fs,
+      TaskAttemptBuilder taskAttemptBuilder, StateStores stateStores, Config 
dynamicConfig) {
+    this(jobId, workUnitFilePath, jobStateFilePath, fs, taskAttemptBuilder, 
stateStores, dynamicConfig, false);
+  }
+
   /**
    * Do all heavy-lifting of initialization in constructor which could be 
retried if failed,
    * see the example in {@link GobblinHelixTask}.
    */
   SingleTask(String jobId, Path workUnitFilePath, Path jobStateFilePath, 
FileSystem fs,
-      TaskAttemptBuilder taskAttemptBuilder, StateStores stateStores, Config 
dynamicConfig) {
+      TaskAttemptBuilder taskAttemptBuilder, StateStores stateStores, Config 
dynamicConfig, boolean skipGetJobState) {
     _jobId = jobId;
     _workUnitFilePath = workUnitFilePath;
     _jobStateFilePath = jobStateFilePath;
@@ -93,10 +98,14 @@ public class SingleTask {
     _lock = new ReentrantLock();
     _taskAttemptBuilt = _lock.newCondition();
 
-    try {
-      _jobState = getJobState();
-    } catch (IOException ioe) {
-      throw new RuntimeException("Failing in deserializing jobState...", ioe);
+    if (!skipGetJobState) {
+      try {
+        _jobState = getJobState();
+      } catch (IOException ioe) {
+        throw new RuntimeException("Failing in deserializing jobState...", 
ioe);
+      }
+    } else {
+      this._jobState = null;
     }
   }
 

Reply via email to