From 7c4a17b50ebf53dd48b58d501bb5ad1a70dd97eb Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Fri, 10 Nov 2023 08:12:46 +0100
Subject: [PATCH] upload fix try: loop until is not ready.

---
 .../itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java  | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

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 d8f82a7..d262e24 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);
 			}
 		}
 	}
-- 
GitLab