diff options
author | jonmv <venstad@gmail.com> | 2023-07-07 13:28:50 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-07-07 13:28:50 +0200 |
commit | b3f69492a602cb150df8b764875e6597055288ea (patch) | |
tree | 9ead503a79b28e6564658a08027c32563f4491ac /container-search/src/main | |
parent | 5b4fa659348100f093e72e86b2e0528bae649cad (diff) |
Avoid overflow for 146 years of JVM time for common timers
Diffstat (limited to 'container-search/src/main')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/InvokerFactory.java | 14 |
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<>(); } |