summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-07-07 13:28:50 +0200
committerjonmv <venstad@gmail.com>2023-07-07 13:28:50 +0200
commitb3f69492a602cb150df8b764875e6597055288ea (patch)
tree9ead503a79b28e6564658a08027c32563f4491ac /container-search
parent5b4fa659348100f093e72e86b2e0528bae649cad (diff)
Avoid overflow for 146 years of JVM time for common timers
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java14
1 files changed, 4 insertions, 10 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java
index d6fb6de6354..b488662591a 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java
@@ -61,16 +61,10 @@ public abstract class InvokerFactory {
List<SearchInvoker> invokers = new ArrayList<>(nodes.size());
Set<Integer> failed = null;
for (Node node : nodes) {
- boolean nodeAdded = false;
- if (node.isWorking() != Boolean.FALSE) {
- Optional<SearchInvoker> invoker = createNodeSearchInvoker(searcher, query, maxHits, node);
- if (invoker.isPresent()) {
- invokers.add(invoker.get());
- nodeAdded = true;
- }
- }
-
- if ( ! nodeAdded) {
+ if ( node.isWorking() == Boolean.FALSE
+ || createNodeSearchInvoker(searcher, query, maxHits, node)
+ .map(invoker -> { invokers.add(invoker); return invoker; })
+ .isEmpty()) {
if (failed == null) {
failed = new HashSet<>();
}