You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2015/05/20 21:09:56 UTC

airavata git commit: when job failed, output handlers should only download standarad out and standared error

Repository: airavata
Updated Branches:
  refs/heads/master 9f8e68b42 -> 0af085f4a


when job failed, output handlers should only download standarad out and standared error


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

Branch: refs/heads/master
Commit: 0af085f4a6e900a2a3772a09c7fa39ceae022613
Parents: 9f8e68b
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Wed May 20 15:09:47 2015 -0400
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Wed May 20 15:09:47 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/airavata/gfac/core/utils/GFacUtils.java  | 8 ++++++++
 .../airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java  | 4 ++++
 .../org/apache/airavata/gfac/ssh/util/HandleOutputs.java     | 5 +++++
 3 files changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/0af085f4/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java
index 09adb7a..8b62425 100644
--- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java
+++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/utils/GFacUtils.java
@@ -756,4 +756,12 @@ public class GFacUtils {
         airavataRegistry.update(RegistryModelType.EXPERIMENT_STATUS, status, experimentId);
         return details.getExperimentStatus().getExperimentState();
     }
+
+    public static boolean isFailedJob (JobExecutionContext jec) {
+        JobStatus jobStatus = jec.getJobDetails().getJobStatus();
+        if (jobStatus.getJobState() == JobState.FAILED) {
+            return true;
+        }
+        return false;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/0af085f4/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
index efed1bc..0a2aa8d 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/AdvancedSCPOutputHandler.java
@@ -148,6 +148,10 @@ public class AdvancedSCPOutputHandler extends AbstractHandler {
             for (String paramName : keys) {
                 OutputDataObjectType outputDataObjectType = (OutputDataObjectType) output.get(paramName);
                 if (outputDataObjectType.getType() == DataType.URI) {
+                    // for failed jobs outputs are not generated. So we should not download outputs
+                    if (GFacUtils.isFailedJob(jobExecutionContext)){
+                        continue;
+                    }
                 	String downloadFile = outputDataObjectType.getValue();
                     if(downloadFile == null || !(new File(downloadFile).isFile())){
                         GFacUtils.saveErrorDetails(jobExecutionContext, "Empty Output returned from the application", CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.AIRAVATA_INTERNAL_ERROR);

http://git-wip-us.apache.org/repos/asf/airavata/blob/0af085f4/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
index ddab0f4..704528f 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/util/HandleOutputs.java
@@ -7,6 +7,7 @@ import java.util.List;
 
 import org.apache.airavata.gfac.core.context.JobExecutionContext;
 import org.apache.airavata.gfac.core.handler.GFacHandlerException;
+import org.apache.airavata.gfac.core.utils.GFacUtils;
 import org.apache.airavata.gsi.ssh.api.Cluster;
 import org.apache.airavata.model.appcatalog.appinterface.DataType;
 import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType;
@@ -34,6 +35,10 @@ public class HandleOutputs {
 				// FIXME: Validation of outputs based on required and optional and search based on REGEX provided in search.
 
 				if (DataType.URI == output.getType()) {
+                    // for failed jobs outputs are not generated. So we should not download outputs
+                    if (GFacUtils.isFailedJob(jobExecutionContext)){
+                       continue;
+                    }
 					String outputFile = output.getValue();
 					String fileName = outputFile.substring(outputFile.lastIndexOf(File.separatorChar) + 1, outputFile.length());