diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java index d8f82a7b7a6b5a55f4674aaa0801096719fc4419..d262e240e30894e61e4341d7f1a81a2b2fda4e10 100644 --- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java +++ b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java @@ -87,13 +87,18 @@ public class GrpcFileUploadUtils { } void sendNext() { - if (!done.get()) { + while (!done.get() && isReady()) { waitForOberver(); LOG.debug("Sending next chunk."); sendMetaData(); long sentSize = sendNextChunk(); checkForEndOfStream(sentSize); } + LOG.debug("Finished or waiting to become ready."); + } + + private boolean isReady() { + return requestObserver.isReady(); } private void waitForOberver() { @@ -150,7 +155,6 @@ public class GrpcFileUploadUtils { IOUtils.closeQuietly(inputStream); requestObserver.onCompleted(); done.set(true); - IOUtils.closeQuietly(inputStream); } } }