You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/09/12 20:46:29 UTC

[1/3] airavata git commit: fixed AIRAVATA-2096

Repository: airavata
Updated Branches:
  refs/heads/master 05ea66e11 -> 96e31a99f


fixed AIRAVATA-2096


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

Branch: refs/heads/master
Commit: 2289aed1d9c9b12c2ee9d5019f3001a5b281d9fa
Parents: 05ea66e
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Sep 12 15:34:23 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Sep 12 15:34:23 2016 -0400

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java      | 26 +++++++++++++++++---
 .../airavata/gfac/server/GfacServerHandler.java |  1 +
 2 files changed, 23 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2289aed1/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index f64e521..1d1391c 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -89,8 +89,8 @@ public class GFacEngineImpl implements GFacEngine {
     @Override
     public ProcessContext populateProcessContext(String processId, String gatewayId, String
             tokenId) throws GFacException {
+        ProcessContext processContext = new ProcessContext(processId, gatewayId, tokenId);
         try {
-            ProcessContext processContext = new ProcessContext(processId, gatewayId, tokenId);
             AppCatalog appCatalog = Factory.getDefaultAppCatalog();
             processContext.setAppCatalog(appCatalog);
             ExperimentCatalog expCatalog = Factory.getDefaultExpCatalog();
@@ -206,12 +206,19 @@ public class GFacEngineImpl implements GFacEngine {
             }
             return processContext;
         } catch (AppCatalogException e) {
-            throw new GFacException("App catalog access exception ", e);
+            String msg = "App catalog access exception ";
+            updateProcessFailure(processContext, msg);
+            throw new GFacException(msg, e);
         } catch (RegistryException e) {
-            throw new GFacException("Registry access exception", e);
+            String msg = "Registry access exception";
+            updateProcessFailure(processContext, msg);
+            throw new GFacException(msg, e);
         } catch (AiravataException e) {
-            throw new GFacException("Remote cluster initialization error", e);
+            String msg = "Remote cluster initialization error";
+            updateProcessFailure(processContext, msg);
+            throw new GFacException(msg, e);
         }
+
     }
 
     private void checkRecoveryWithCancel(ProcessContext processContext) throws Exception {
@@ -859,6 +866,17 @@ public class GFacEngineImpl implements GFacEngine {
         });
     }
 
+    private void updateProcessFailure(ProcessContext pc, String reason){
+        ProcessStatus status = new ProcessStatus(ProcessState.FAILED);
+        status.setReason(reason);
+        pc.setProcessStatus(status);
+        try {
+            GFacUtils.saveAndPublishProcessStatus(pc);
+        } catch (GFacException e) {
+            log.error("Error while save and publishing process failed status event");
+        }
+    }
+
     public static ResourceJobManager getResourceJobManager(ProcessContext processCtx) throws AppCatalogException, GFacException {
         List<JobSubmissionInterface> jobSubmissionInterfaces = Factory.getDefaultAppCatalog().getComputeResource()
                 .getComputeResource(processCtx.getComputeResourceId()).getJobSubmissionInterfaces();

http://git-wip-us.apache.org/repos/asf/airavata/blob/2289aed1/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
index c59e199..7366a19 100644
--- a/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
+++ b/modules/gfac/gfac-service/src/main/java/org/apache/airavata/gfac/server/GfacServerHandler.java
@@ -161,6 +161,7 @@ public class GfacServerHandler implements GfacService.Iface {
 	        executorService.execute(new GFacWorker(processId, gatewayId, tokenId));
         } catch (GFacException e) {
             log.error("Failed to submit process", e);
+
             return false;
         } catch (Exception e) {
 	        log.error("Error creating zookeeper nodes");


[2/3] airavata git commit: update error model, AIRAVATA-2096

Posted by sh...@apache.org.
update error model, AIRAVATA-2096


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

Branch: refs/heads/master
Commit: 5dbf84cc1a710b17b401f182ac2c4b904544d2c5
Parents: 2289aed
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Sep 12 16:14:19 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Sep 12 16:14:19 2016 -0400

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/5dbf84cc/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index 1d1391c..a57252e 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -74,6 +74,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.*;
@@ -207,14 +209,17 @@ public class GFacEngineImpl implements GFacEngine {
             return processContext;
         } catch (AppCatalogException e) {
             String msg = "App catalog access exception ";
+            saveErrorModel(processContext, e, msg);
             updateProcessFailure(processContext, msg);
             throw new GFacException(msg, e);
         } catch (RegistryException e) {
             String msg = "Registry access exception";
+            saveErrorModel(processContext, e, msg);
             updateProcessFailure(processContext, msg);
             throw new GFacException(msg, e);
         } catch (AiravataException e) {
             String msg = "Remote cluster initialization error";
+            saveErrorModel(processContext, e, msg);
             updateProcessFailure(processContext, msg);
             throw new GFacException(msg, e);
         }
@@ -877,6 +882,20 @@ public class GFacEngineImpl implements GFacEngine {
         }
     }
 
+    private void saveErrorModel(ProcessContext pc, Exception e, String userFriendlyMsg){
+        StringWriter errors = new StringWriter();
+        e.printStackTrace(new PrintWriter(errors));
+        ErrorModel errorModel = new ErrorModel();
+        errorModel.setUserFriendlyMessage(userFriendlyMsg);
+        errorModel.setActualErrorMessage(errors.toString());
+        errorModel.setCreationTime(AiravataUtils.getCurrentTimestamp().getTime());
+        try {
+            GFacUtils.saveProcessError(pc, errorModel);
+        } catch (GFacException e1) {
+            log.error("Error while updating error model for process:" + pc.getProcessId());
+        }
+    }
+
     public static ResourceJobManager getResourceJobManager(ProcessContext processCtx) throws AppCatalogException, GFacException {
         List<JobSubmissionInterface> jobSubmissionInterfaces = Factory.getDefaultAppCatalog().getComputeResource()
                 .getComputeResource(processCtx.getComputeResourceId()).getJobSubmissionInterfaces();


[3/3] airavata git commit: update experiment error model, AIRAVATA-2096

Posted by sh...@apache.org.
update experiment error model, AIRAVATA-2096


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

Branch: refs/heads/master
Commit: 96e31a99f8f9b0b9b7be3826bc4e8d417c2e1c42
Parents: 5dbf84c
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Mon Sep 12 16:38:46 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Mon Sep 12 16:38:46 2016 -0400

----------------------------------------------------------------------
 .../src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/96e31a99/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index a57252e..2b623e8 100644
--- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -891,6 +891,7 @@ public class GFacEngineImpl implements GFacEngine {
         errorModel.setCreationTime(AiravataUtils.getCurrentTimestamp().getTime());
         try {
             GFacUtils.saveProcessError(pc, errorModel);
+            GFacUtils.saveExperimentError(pc, errorModel);
         } catch (GFacException e1) {
             log.error("Error while updating error model for process:" + pc.getProcessId());
         }