You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2019/01/17 18:33:05 UTC
[airavata] branch develop updated: Gracefully handle the registry
client usage
This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/develop by this push:
new 44b8f29 Gracefully handle the registry client usage
44b8f29 is described below
commit 44b8f2970867aadf25bf22b7903db1f872b58180
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Thu Jan 17 13:32:54 2019 -0500
Gracefully handle the registry client usage
---
.../airavata/helix/impl/workflow/ParserWorkflowManager.java | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/ParserWorkflowManager.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/ParserWorkflowManager.java
index 53d2ad3..95367f4 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/ParserWorkflowManager.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/ParserWorkflowManager.java
@@ -71,9 +71,10 @@ public class ParserWorkflowManager extends WorkflowManager {
}
private boolean process(ProcessCompletionMessage completionMessage) {
- try {
- RegistryService.Client registryClient = getRegistryClientPool().getResource();
+ RegistryService.Client registryClient = getRegistryClientPool().getResource();
+
+ try {
ProcessModel processModel;
ApplicationInterfaceDescription appDescription;
try {
@@ -83,8 +84,6 @@ public class ParserWorkflowManager extends WorkflowManager {
} catch (Exception e) {
logger.error("Failed to fetch process or application description from registry associated with process id " + completionMessage.getProcessId(), e);
throw new Exception("Failed to fetch process or application description from registry associated with process id " + completionMessage.getProcessId(), e);
- } finally {
- getRegistryClientPool().returnResource(registryClient);
}
// All the templates should be run
@@ -154,11 +153,14 @@ public class ParserWorkflowManager extends WorkflowManager {
allTasks, true, false);
logger.info("Launched workflow " + workflow);
}
+
+ getRegistryClientPool().returnResource(registryClient);
return true;
} catch (Exception e) {
logger.error("Failed to create the DataParsing task DAG", e);
+ getRegistryClientPool().returnBrokenResource(registryClient);
return false;
}
}