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());
}