From 0d2680649c1c08641ddbf6327e5e7b24eb237e7f Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Tue, 26 Oct 2021 10:35:35 +0200 Subject: Catch hidden IOExceptions when writing --- .../yahoo/document/restapi/resource/DocumentV1ApiHandler.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'vespaclient-container-plugin/src') 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 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()); } }); } -- cgit v1.2.3