summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java
diff options
context:
space:
mode:
authorOlli Virtanen <olli.virtanen@oath.com>2018-12-19 13:34:15 +0200
committerOlli Virtanen <olli.virtanen@oath.com>2018-12-19 13:34:15 +0200
commit9fede395bcf3fe1f1af3a228046fcd51b7eee197 (patch)
treeca4de2923b4ff1105c497d8da3be20716d50c3f0 /container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java
parent26c6781168f21eb58bb86f1c40babd3a38e03dfd (diff)
Adaptive load balancing scheduler, coverage calculation fixes
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java
index 481940a33b7..515d6249fd8 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/CloseableInvoker.java
@@ -2,6 +2,7 @@
package com.yahoo.search.dispatch;
import java.io.Closeable;
+import java.util.function.BiConsumer;
/**
* CloseableInvoker is an abstract implementation of {@link Closeable} with an additional hook for
@@ -13,16 +14,23 @@ import java.io.Closeable;
public abstract class CloseableInvoker implements Closeable {
protected abstract void release();
- private Runnable teardown = null;
+ private BiConsumer<Boolean, Long> teardown = null;
+ private boolean success = false;
+ private long startTime = 0;
- public void teardown(Runnable teardown) {
+ public void teardown(BiConsumer<Boolean, Long> teardown) {
this.teardown = teardown;
+ this.startTime = System.currentTimeMillis();
+ }
+
+ protected void setFinalStatus(boolean success) {
+ this.success = success;
}
@Override
public final void close() {
if (teardown != null) {
- teardown.run();
+ teardown.accept(success, System.currentTimeMillis() - startTime);
teardown = null;
}
release();