commit | d06b0070d5a29443a6688339370bb364f5e75a4a | [log] [tgz] |
---|---|---|
author | Michael Blow <michael.blow@couchbase.com> | Fri Apr 12 12:24:06 2019 -0400 |
committer | Michael Blow <mblow@apache.org> | Fri Apr 12 17:34:09 2019 +0000 |
tree | 7ea714576e2ff97095a086513bd98d401e46d330 | |
parent | d8229a82a492eac70034444344c1521cee8cf3bc [diff] |
[NO ISSUE][*DB][CLUS] Add API to return all known nodes atomically Change-Id: Ie6bb64e331666ef44b07034d430ba2ee563bba82 Reviewed-on: https://asterix-gerrit.ics.uci.edu/3340 Reviewed-by: Murtadha Hubail <mhubail@apache.org> Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java index d0d039d..0e62851 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/cluster/IClusterStateManager.java
@@ -144,6 +144,11 @@ Set<String> getFailedNodes(); /** + * @return the set of cluster nodes + */ + Set<String> getNodes(); + + /** * Returns the IO devices configured for a Node Controller * * @param nodeId
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java index 720b089..16a479e 100644 --- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java +++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/utils/ClusterStateManager.java
@@ -256,6 +256,13 @@ } @Override + public synchronized Set<String> getNodes() { + Set<String> nodes = new HashSet<>(participantNodes); + nodes.addAll(failedNodes); + return nodes; + } + + @Override public synchronized Set<String> getParticipantNodes(boolean excludePendingRemoval) { final Set<String> participantNodesCopy = getParticipantNodes(); if (excludePendingRemoval) {