Fixed jobId null issue

Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4409f996
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4409f996
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4409f996

Branch: refs/heads/develop
Commit: 4409f99681d2a8bfd5ec71d8c48f2fb4d9f6856c
Parents: 7523c1e
Author: Shameera Rathnayaka <[email protected]>
Authored: Mon Jan 4 16:00:35 2016 -0500
Committer: Shameera Rathnayaka <[email protected]>
Committed: Mon Jan 4 16:00:35 2016 -0500

----------------------------------------------------------------------
 .../gfac/impl/task/DefaultJobSubmissionTask.java     | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/4409f996/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
index 7629f67..68d3bac 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/task/DefaultJobSubmissionTask.java
@@ -46,7 +46,8 @@ import java.io.IOException;
 import java.util.Map;
 
 public class DefaultJobSubmissionTask implements JobSubmissionTask {
-    private static final Logger log = 
LoggerFactory.getLogger(DefaultJobSubmissionTask.class);
+       private static final Logger log = 
LoggerFactory.getLogger(DefaultJobSubmissionTask.class);
+       public static final String DEFAULT_JOB_ID = "DEFAULT_JOB_ID";
        private static int waitForProcessIdmillis = 5000;
        private static int pauseTimeInSec = waitForProcessIdmillis / 1000;
 
@@ -80,8 +81,10 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                jobModel.setExitCode(exitCode);
                                
jobModel.setStdErr(jobSubmissionOutput.getStdErr());
                                
jobModel.setStdOut(jobSubmissionOutput.getStdOut());
-                               GFacUtils.saveJobModel(processContext, 
jobModel);
-                               if (exitCode != 0) {
+                               String jobId = jobSubmissionOutput.getJobId();
+                               if (exitCode != 0 && jobId == null) {
+                                       jobModel.setJobId(DEFAULT_JOB_ID);
+                                       GFacUtils.saveJobModel(processContext, 
jobModel);
                                        String msg;
                                        if (exitCode != Integer.MIN_VALUE) {
                                                msg = "expId:" + 
processContext.getProcessModel().getExperimentId() + ", processId:" +
@@ -98,7 +101,6 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                        ErrorModel errorModel = new 
ErrorModel();
                                        errorModel.setUserFriendlyMessage(msg);
                                        errorModel.setActualErrorMessage(msg);
-                                       GFacUtils.saveJobModel(processContext, 
jobModel);
                                        
GFacUtils.saveExperimentError(processContext, errorModel);
                                        
GFacUtils.saveProcessError(processContext, errorModel);
                                        GFacUtils.saveTaskError(taskContext, 
errorModel);
@@ -113,7 +115,6 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                                        }
                                        return taskStatus;
                                }
-                           String jobId = jobSubmissionOutput.getJobId();
                            if (jobId != null && !jobId.isEmpty()) {
                                    jobModel.setJobId(jobId);
                                    GFacUtils.saveJobModel(processContext, 
jobModel);
@@ -158,7 +159,9 @@ public class DefaultJobSubmissionTask implements 
JobSubmissionTask {
                            }
 
                            if (jobId == null || jobId.isEmpty()) {
-                                   String msg = "expId:" + 
processContext.getProcessModel().getExperimentId() + " Couldn't find " +
+                                       jobModel.setJobId(DEFAULT_JOB_ID);
+                                       GFacUtils.saveJobModel(processContext, 
jobModel);
+                                       String msg = "expId:" + 
processContext.getProcessModel().getExperimentId() + " Couldn't find " +
                                                    "remote jobId for JobName:" 
+ jobModel.getJobName() + ", both submit and verify steps " +
                                                    "doesn't return a valid 
JobId. " + "Hence changing experiment state to Failed";
                                    log.error(msg);

Reply via email to