From 38a94b152b54160a0acafee1a9eb217017be9573 Mon Sep 17 00:00:00 2001 From: Svitlana Date: Thu, 7 May 2020 13:34:50 +0200 Subject: [PATCH] Add output checking --- .../cloud/storage/StorageServiceDriverBase.java | 13 ++++++++++--- .../cloud/storage/local/LocalStorageDriver.java | 12 +++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java b/bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java index b8eaec9e..fd31285d 100644 --- a/bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java +++ b/bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java @@ -60,10 +60,17 @@ public abstract class StorageServiceDriverBase extends CloudServiceDriverBase f = new File(temp, "spooled"); writeRequest = new WriteRequest(temp, f, requestId); requestMap.put(requestId, writeRequest); + long countBytes = 0; try (OutputStream out = new FileOutputStream(f)) { - IOUtils.copyLarge(data, out); - } catch (IOException e) { - return die("StorageServiceDriverBase._write: error: "+e); + countBytes = IOUtils.copyLarge(data, out); + } catch (IllegalStateException e) { + if (e.getMessage().contains("timeout")) { + if (countBytes == 0) { + return die("StorageServiceDriverBase._write: error: " + e); + } + } + } catch (Exception e) { + return die("StorageServiceDriverBase._write: error: " + e); } } } diff --git a/bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java b/bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java index eb6f7af0..6158426f 100644 --- a/bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java +++ b/bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java @@ -153,11 +153,17 @@ public class LocalStorageDriver extends CloudServiceDriverBase