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 <[email protected]> Authored: Mon Jul 16 15:23:30 2018 -0700 Committer: Harry Zhang <[email protected]> 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; }
