Browse Source

Add output checking

tags/v0.10.5
Svitlana 4 years ago
parent
commit
38a94b152b
2 changed files with 19 additions and 6 deletions
  1. +10
    -3
      bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java
  2. +9
    -3
      bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java

+ 10
- 3
bubble-server/src/main/java/bubble/cloud/storage/StorageServiceDriverBase.java View File

@@ -60,10 +60,17 @@ public abstract class StorageServiceDriverBase<T> extends CloudServiceDriverBase
f = new File(temp, "spooled"); f = new File(temp, "spooled");
writeRequest = new WriteRequest(temp, f, requestId); writeRequest = new WriteRequest(temp, f, requestId);
requestMap.put(requestId, writeRequest); requestMap.put(requestId, writeRequest);
long countBytes = 0;
try (OutputStream out = new FileOutputStream(f)) { 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);
} }
} }
} }


+ 9
- 3
bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java View File

@@ -153,11 +153,17 @@ public class LocalStorageDriver extends CloudServiceDriverBase<LocalStorageConfi
} }
} }
@Cleanup final FileOutputStream out = new FileOutputStream(f); @Cleanup final FileOutputStream out = new FileOutputStream(f);
long countBytes = 0;
try { try {
IOUtils.copyLarge(data, out); IOUtils.copyLarge(data, out);
} catch (IOException e) {
return die("LocalStorageDriver._write: error: "+e);
} catch (IllegalStateException e) {
if (e.getMessage().contains("timeout")) {
if (countBytes == 0) {
return die("LocalStorageDriver._write: error: " + e);
}
}
} catch (Exception e) {
return die("LocalStorageDriver._write: error: " + e);
} }
if (fileSha == null) fileSha = sha256_file(f); if (fileSha == null) fileSha = sha256_file(f);




Loading…
Cancel
Save