summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
index e755abc7d66..1be45b01367 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/searchcluster/SearchCluster.java
@@ -173,11 +173,15 @@ public class SearchCluster implements NodeManager<Node> {
}
public boolean hasInformationAboutAllNodes() {
- return groups().stream().allMatch(g -> g.nodes().stream().allMatch(node -> node.isWorking() != null));
+ return groups().stream().allMatch(group -> group.nodes().stream().allMatch(node -> node.isWorking() != null));
+ }
+
+ public long nonWorkingNodeCount() {
+ return groups().stream().flatMap(group -> group.nodes().stream()).filter(node -> node.isWorking() == Boolean.FALSE).count();
}
private boolean hasWorkingNodes() {
- return groups().stream().anyMatch(g -> g.nodes().stream().anyMatch(node -> node.isWorking() != Boolean.FALSE));
+ return groups().stream().anyMatch(group -> group.nodes().stream().anyMatch(node -> node.isWorking() != Boolean.FALSE));
}
private boolean usesLocalCorpusIn(Node node) {
@@ -252,11 +256,15 @@ public class SearchCluster implements NodeManager<Node> {
if (node.isWorking() != Boolean.TRUE)
unresponsive.append('\n').append(node);
}
- log.warning("Cluster " + clusterId + ": " + group + " has reduced coverage: " +
- "Active documents: " + group.activeDocuments() + "/" + medianDocuments + ", " +
- "Target active documents: " + group.targetActiveDocuments() + ", " +
- "working nodes: " + group.workingNodes() + "/" + group.nodes().size() +
- ", unresponsive nodes: " + (unresponsive.toString().isEmpty() ? " none" : unresponsive));
+ String message = "Cluster " + clusterId + ": " + group + " has reduced coverage: " +
+ "Active documents: " + group.activeDocuments() + "/" + medianDocuments + ", " +
+ "Target active documents: " + group.targetActiveDocuments() + ", " +
+ "working nodes: " + group.workingNodes() + "/" + group.nodes().size() +
+ ", unresponsive nodes: " + (unresponsive.toString().isEmpty() ? " none" : unresponsive);
+ if (nonWorkingNodeCount() == 1) // That is normal
+ log.info(message);
+ else
+ log.warning(message);
}
}
}