You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by jx...@apache.org on 2018/07/17 18:37:56 UTC

helix git commit: helix manager should support getting metadata store connection string

Repository: helix
Updated Branches:
  refs/heads/master cbd3bd991 -> 921d1fc98


helix manager should support getting metadata store connection string


Project: http://git-wip-us.apache.org/repos/asf/helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/921d1fc9
Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/921d1fc9
Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/921d1fc9

Branch: refs/heads/master
Commit: 921d1fc9822a2ae3ddd2adc854a12ec486ad6c08
Parents: cbd3bd9
Author: Harry Zhang <hr...@linkedin.com>
Authored: Mon Jul 16 15:23:30 2018 -0700
Committer: Harry Zhang <hr...@linkedin.com>
Committed: Mon Jul 16 15:23:30 2018 -0700

----------------------------------------------------------------------
 .../src/main/java/org/apache/helix/HelixManager.java      |  7 +++++++
 .../java/org/apache/helix/manager/zk/ZKHelixManager.java  | 10 ++++++++++
 .../helix/controller/stages/DummyClusterManager.java      |  5 +++++
 .../java/org/apache/helix/manager/zk/TestZkReconnect.java |  3 +++
 .../src/test/java/org/apache/helix/mock/MockManager.java  |  5 +++++
 .../org/apache/helix/participant/MockZKHelixManager.java  |  5 +++++
 6 files changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/main/java/org/apache/helix/HelixManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/HelixManager.java b/helix-core/src/main/java/org/apache/helix/HelixManager.java
index ff61a04..66f83ae 100644
--- a/helix-core/src/main/java/org/apache/helix/HelixManager.java
+++ b/helix-core/src/main/java/org/apache/helix/HelixManager.java
@@ -289,6 +289,13 @@ public interface HelixManager {
   String getClusterName();
 
   /**
+   * Returns a string that can be used to connect to metadata store for this HelixManager instance
+   * i.e. for ZkHelixManager, this will have format "{zookeeper-address}:{port}"
+   * @return a string used to connect to metadata store
+   */
+  String getMetadataStoreConnectionString();
+
+  /**
    * Returns the instanceName used to connect to the cluster
    * @return the associated instance name
    */

http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
index ad51997..46deb44 100644
--- a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
+++ b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
@@ -560,6 +560,16 @@ public class ZKHelixManager implements HelixManager, IZkStateListener {
     return _clusterName;
   }
 
+  /**
+   * Returns a string that can be used to connect to metadata store for this HelixManager instance
+   * i.e. for ZkHelixManager, this will have format "{zookeeper-address}:{port}"
+   * @return a string used to connect to metadata store
+   */
+  @Override
+  public String getMetadataStoreConnectionString() {
+    return _zkAddress;
+  }
+
   @Override
   public String getInstanceName() {
     return _instanceName;

http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/test/java/org/apache/helix/controller/stages/DummyClusterManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/controller/stages/DummyClusterManager.java b/helix-core/src/test/java/org/apache/helix/controller/stages/DummyClusterManager.java
index 631f714..dad3c76 100644
--- a/helix-core/src/test/java/org/apache/helix/controller/stages/DummyClusterManager.java
+++ b/helix-core/src/test/java/org/apache/helix/controller/stages/DummyClusterManager.java
@@ -155,6 +155,11 @@ public class DummyClusterManager implements HelixManager {
   }
 
   @Override
+  public String getMetadataStoreConnectionString() {
+    return null;
+  }
+
+  @Override
   public String getInstanceName() {
     // TODO Auto-generated method stub
     return null;

http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkReconnect.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkReconnect.java b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkReconnect.java
index 62701a1..303cf68 100644
--- a/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkReconnect.java
+++ b/helix-core/src/test/java/org/apache/helix/manager/zk/TestZkReconnect.java
@@ -84,6 +84,8 @@ public class TestZkReconnect {
               }
             });
 
+    Assert.assertEquals(controller.getMetadataStoreConnectionString(), zkAddr);
+
     try {
       controller.connect();
       // check onConnected() is triggered
@@ -112,6 +114,7 @@ public class TestZkReconnect {
       // Inject expire to test handler
       // onDisconnectedFlag should be set within onDisconnected handler
       controller.handleSessionEstablishmentError(new Exception("For testing"));
+      Thread.sleep(10);
       Assert.assertTrue(onDisconnectedFlag.get());
       Assert.assertFalse(onConnectedFlag.get());
       Assert.assertFalse(controller.isConnected());

http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/test/java/org/apache/helix/mock/MockManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/mock/MockManager.java b/helix-core/src/test/java/org/apache/helix/mock/MockManager.java
index f5a8486..2e67128 100644
--- a/helix-core/src/test/java/org/apache/helix/mock/MockManager.java
+++ b/helix-core/src/test/java/org/apache/helix/mock/MockManager.java
@@ -164,6 +164,11 @@ public class MockManager implements HelixManager {
   }
 
   @Override
+  public String getMetadataStoreConnectionString() {
+    return null;
+  }
+
+  @Override
   public String getInstanceName() {
     return _instanceName;
   }

http://git-wip-us.apache.org/repos/asf/helix/blob/921d1fc9/helix-core/src/test/java/org/apache/helix/participant/MockZKHelixManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/test/java/org/apache/helix/participant/MockZKHelixManager.java b/helix-core/src/test/java/org/apache/helix/participant/MockZKHelixManager.java
index 33cf1f0..4dc3957 100644
--- a/helix-core/src/test/java/org/apache/helix/participant/MockZKHelixManager.java
+++ b/helix-core/src/test/java/org/apache/helix/participant/MockZKHelixManager.java
@@ -181,6 +181,11 @@ public class MockZKHelixManager implements HelixManager {
   }
 
   @Override
+  public String getMetadataStoreConnectionString() {
+    return null;
+  }
+
+  @Override
   public String getInstanceName() {
     return _instanceName;
   }