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 2015/06/10 20:08:28 UTC
airavata git commit: update deliverytag in case of redelivery
Repository: airavata
Updated Branches:
refs/heads/airavata-0.15-release-branch 14044de5d -> 7b9418ae9
update deliverytag in case of redelivery
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/7b9418ae
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/7b9418ae
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/7b9418ae
Branch: refs/heads/airavata-0.15-release-branch
Commit: 7b9418ae9d4e8d8062f1b6a403deef4829b03739
Parents: 14044de
Author: Shameera Rathanyaka <sh...@gmail.com>
Authored: Wed Jun 10 14:07:31 2015 -0400
Committer: Shameera Rathanyaka <sh...@gmail.com>
Committed: Wed Jun 10 14:07:31 2015 -0400
----------------------------------------------------------------------
.../airavata/gfac/core/utils/GFacUtils.java | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/7b9418ae/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 5d39f40..3570703 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
@@ -423,9 +423,10 @@ public class GFacUtils {
} else {
log.error("ExperimentID: " + experimentID + " taskID: " + taskID + " was running by some Gfac instance,but it failed");
removeCancelDeliveryTagNode(oldExperimentPath, curatorClient); // remove previous cancel deliveryTagNode
- if(newExperimentPath.equals(oldExperimentPath)){
- log.info("Re-launch experiment came to the same GFac instance");
- }else {
+ if(newExperimentPath.equals(oldExperimentPath)) {
+ updateDeliveryTag(oldExperimentPath, curatorClient, deliveryTag);
+ log.info("Re-launch experiment came to the same GFac instance");
+ }else {
log.info("Re-launch experiment came to a new GFac instance so we are moving data to new gfac node");
curatorClient.create().withMode(CreateMode.PERSISTENT).withACL(OPEN_ACL_UNSAFE).forPath(newExperimentPath,
curatorClient.getData().storingStatIn(exists1).forPath(oldExperimentPath)); // recursively copy children
@@ -448,7 +449,17 @@ public class GFacUtils {
return true;
}
- private static void removeCancelDeliveryTagNode(String experimentPath, CuratorFramework curatorClient) throws Exception {
+ private static void updateDeliveryTag(String oldExperimentPath, CuratorFramework curatorClient, long deliveryTag) throws Exception {
+ Stat stat = curatorClient.checkExists().forPath(oldExperimentPath + AiravataZKUtils.DELIVERY_TAG_POSTFIX);
+ if (stat != null) {
+ curatorClient.setData().withVersion(-1).forPath(oldExperimentPath + AiravataZKUtils.DELIVERY_TAG_POSTFIX, longToBytes(deliveryTag));
+ } else {
+ curatorClient.create().withMode(CreateMode.PERSISTENT).withACL(OPEN_ACL_UNSAFE)
+ .forPath(oldExperimentPath + AiravataZKUtils.DELIVERY_TAG_POSTFIX, longToBytes(deliveryTag));
+ }
+ }
+
+ private static void removeCancelDeliveryTagNode(String experimentPath, CuratorFramework curatorClient) throws Exception {
Stat exists = curatorClient.checkExists().forPath(experimentPath + AiravataZKUtils.CANCEL_DELIVERY_TAG_POSTFIX);
if (exists != null) {
ZKPaths.deleteChildren(curatorClient.getZookeeperClient().getZooKeeper(), experimentPath + AiravataZKUtils.CANCEL_DELIVERY_TAG_POSTFIX, true);