瀏覽代碼

Add output checking

tags/v0.10.5
Svitlana 4 年之前
父節點
當前提交
38a94b152b
共有 2 個檔案被更改,包括 19 行新增6 行删除
  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 查看文件

@@ -60,10 +60,17 @@ public abstract class StorageServiceDriverBase<T> 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);
}
}
}


+ 9
- 3
bubble-server/src/main/java/bubble/cloud/storage/local/LocalStorageDriver.java 查看文件

@@ -153,11 +153,17 @@ public class LocalStorageDriver extends CloudServiceDriverBase<LocalStorageConfi
}
}
@Cleanup final FileOutputStream out = new FileOutputStream(f);
long countBytes = 0;
try {
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);



Loading…
取消
儲存