aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-10-26 10:09:30 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-10-26 10:09:30 +0200
commit3289fb5d2de3ad69da0e8bbe41ce6f5357b5f5e6 (patch)
treef721cd2b29f5c69c3584804e0afd84baafa8e052 /vespaclient-container-plugin
parent37d050d026ae1cdbcb1ba2dd4848107fa8d6fd61 (diff)
Set writing back to false also when exceptional return
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
index 63fc7854a52..a692362cc5f 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
@@ -1122,8 +1122,12 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
});
if (writing.compareAndSet(false, true)) // Occupy only a single thread for writing.
defaultExecutor.execute(() -> {
- for (Runnable write; (write = writes.poll()) != null; write.run());
- writing.set(false);
+ try {
+ for (Runnable write; (write = writes.poll()) != null; write.run());
+ }
+ finally {
+ writing.set(false);
+ }
});
}
@Override public void onEnd(JsonResponse response) throws IOException {