You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2016/09/16 16:12:17 UTC
[42/48] airavata git commit: update error model, AIRAVATA-2096
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/lahiru/AIRAVATA-2065
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();