diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 10:09:30 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 10:09:30 +0200 |
commit | 3289fb5d2de3ad69da0e8bbe41ce6f5357b5f5e6 (patch) | |
tree | f721cd2b29f5c69c3584804e0afd84baafa8e052 /vespaclient-container-plugin/src | |
parent | 37d050d026ae1cdbcb1ba2dd4848107fa8d6fd61 (diff) |
Set writing back to false also when exceptional return
Diffstat (limited to 'vespaclient-container-plugin/src')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java | 8 |
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 { |