aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi/src
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-11-06 16:55:46 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-11-06 16:55:46 +0100
commit604ddaefbb59f1353a16e25e45ad0c241cc79793 (patch)
tree97ac3f57e69447872436944a78911b7b49b6a3dd /documentapi/src
parentcab5c5ae03d0b6bb76f0fbda57e99f6302349bab (diff)
Avoid interrupts for control flow
Diffstat (limited to 'documentapi/src')
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java4
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/local/LocalVisitorSession.java6
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java1
3 files changed, 8 insertions, 3 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java b/documentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java
index 0dd96275f9d..e98be6871b4 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/VisitorIterator.java
@@ -26,8 +26,8 @@ import java.util.logging.Logger;
*/
public class VisitorIterator {
- private ProgressToken progressToken;
- private BucketSource bucketSource;
+ private final ProgressToken progressToken;
+ private final BucketSource bucketSource;
private int distributionBitCount;
private static final Logger log = Logger.getLogger(VisitorIterator.class.getName());
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalVisitorSession.java b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalVisitorSession.java
index eba884c5ee8..43bfb9ca667 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/local/LocalVisitorSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/local/LocalVisitorSession.java
@@ -186,6 +186,12 @@ public class LocalVisitorSession implements VisitorSession {
@Override
public void destroy() {
abort();
+ try {
+ control.waitUntilDone(0);
+ }
+ catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ }
}
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
index cf9f78e3679..257d491ea93 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/MessageBusVisitorSession.java
@@ -1167,7 +1167,6 @@ public class MessageBusVisitorSession implements VisitorSession {
}
} catch (InterruptedException e) {
log.log(Level.WARNING, "Interrupted waiting for visitor session to be destroyed");
- Thread.currentThread().interrupt();
} finally {
try {
sender.destroy();