diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 10:35:35 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-10-26 10:35:35 +0200 |
commit | 0d2680649c1c08641ddbf6327e5e7b24eb237e7f (patch) | |
tree | d488a5ab961202d93ec13386bf6b8398b1fc8092 /vespaclient-container-plugin | |
parent | 0a632b0a29de4d5117293dfaf48c3aac89fab674 (diff) |
Catch hidden IOExceptions when writing
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java | 10 |
1 files changed, 3 insertions, 7 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 0303c36cb4d..d30a75ea920 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 @@ -1117,18 +1117,14 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler { } @Override public void onDocument(JsonResponse response, Document document, Runnable ack, Consumer<String> onError) { writes.add(() -> { - response.writeDocumentValue(document); + loggingException(() -> response.writeDocumentValue(document)); ack.run(); }); if (writing.compareAndSet(false, true)) // Occupy only a single thread for writing. defaultExecutor.execute(() -> { while (writing.get()) { - try { - for (Runnable write; (write = writes.poll()) != null; write.run()) ; - } - finally { - writing.set( ! writes.isEmpty()); - } + for (Runnable write; (write = writes.poll()) != null; write.run()); + writing.set( ! writes.isEmpty()); } }); } |