This is an automated email from the ASF dual-hosted git repository. dlych pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit f5ccf50f4695a8557983abcfa8b1ad989ed8822a Author: Michael Blow <[email protected]> AuthorDate: Thu Apr 11 10:53:13 2019 -0400 [NO ISSUE][*DB][CLUS] Add failed nodes API to ClusterStateManager Change-Id: I1b56b29c38f0bbfe54b30ee5781770e90404c528 Reviewed-on: https://asterix-gerrit.ics.uci.edu/3335 Tested-by: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Reviewed-by: Till Westmann <[email protected]> --- .../java/org/apache/asterix/common/cluster/IClusterStateManager.java | 5 +++++ .../java/org/apache/asterix/runtime/utils/ClusterStateManager.java | 5 +++++ 2 files changed, 10 insertions(+) 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 5e99eec..d0d039d 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 @@ -139,6 +139,11 @@ public interface IClusterStateManager { Set<String> getParticipantNodes(); /** + * @return the set of currently failed nodes + */ + Set<String> getFailedNodes(); + + /** * 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 8d3187b..720b089 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 @@ -251,6 +251,11 @@ public class ClusterStateManager implements IClusterStateManager { } @Override + public synchronized Set<String> getFailedNodes() { + return new HashSet<>(failedNodes); + } + + @Override public synchronized Set<String> getParticipantNodes(boolean excludePendingRemoval) { final Set<String> participantNodesCopy = getParticipantNodes(); if (excludePendingRemoval) {
