airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dimuthu...@apache.org
Subject [airavata] 02/02: Automatically creating the helix cluster if not available
Date Mon, 02 Nov 2020 19:48:10 GMT
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

commit 7d6073b9227c2cd1949e1e41f4371f2ca755e8d3
Author: Dimuthu Wannipurage <dimuthu.upeksha2@gmail.com>
AuthorDate: Mon Nov 2 14:47:53 2020 -0500

    Automatically creating the helix cluster if not available
---
 .../airavata/helix/impl/controller/HelixController.java   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/controller/HelixController.java
b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/controller/HelixController.java
index 799b216..ee4656e 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/controller/HelixController.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/controller/HelixController.java
@@ -22,6 +22,9 @@ package org.apache.airavata.helix.impl.controller;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.helix.controller.HelixControllerMain;
+import org.apache.helix.manager.zk.ZKHelixAdmin;
+import org.apache.helix.manager.zk.ZNRecordSerializer;
+import org.apache.helix.manager.zk.ZkClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -57,6 +60,18 @@ public class HelixController implements Runnable {
 
     public void run() {
         try {
+            ZkClient zkClient = new ZkClient(ServerSettings.getZookeeperConnection(), ZkClient.DEFAULT_SESSION_TIMEOUT,
+                    ZkClient.DEFAULT_CONNECTION_TIMEOUT, new ZNRecordSerializer());
+            ZKHelixAdmin zkHelixAdmin = new ZKHelixAdmin(zkClient);
+
+            // Creates the zk cluster if not available
+            if (! zkHelixAdmin.getClusters().contains(clusterName)) {
+                zkHelixAdmin.addCluster(clusterName, true);
+            }
+
+            zkHelixAdmin.close();
+            zkClient.close();
+
             logger.info("Connection to helix cluster : " + clusterName + " with name : "
+ controllerName);
             logger.info("Zookeeper connection string " + zkAddress);
 


Mime
View raw message