浏览代码

Fix a retry bug (#829)

Signed-off-by: yhmo <yihua.mo@zilliz.com>
groot 1 年之前
父节点
当前提交
9439a12cca
共有 1 个文件被更改,包括 12 次插入8 次删除
  1. 12 8
      src/main/java/io/milvus/client/MilvusServiceClient.java

+ 12 - 8
src/main/java/io/milvus/client/MilvusServiceClient.java

@@ -328,14 +328,18 @@ public class MilvusServiceClient extends AbstractMilvusGrpcClient {
                     return resp;
                 }
 
-                // print log, follow the pymilvus logic
-                if (k > 3) {
-                    logWarning(String.format("Retry(%d) with interval %dms. Reason: %s",
-                            k, retryIntervalMs, e.getMessage()));
-                }
-
-                // sleep for interval
-                if (k != maxRetryTimes) {
+                if (k >= maxRetryTimes) {
+                    // finish retry loop, return the response of the last retry
+                    String msg = String.format("Finish %d retry times, stop retry", maxRetryTimes);
+                    logError(msg);
+                    return resp;
+                } else {
+                    // sleep for interval
+                    // print log, follow the pymilvus logic
+                    if (k > 3) {
+                        logWarning(String.format("Retry(%d) with interval %dms. Reason: %s",
+                                k, retryIntervalMs, e.getMessage()));
+                    }
                     TimeUnit.MILLISECONDS.sleep(retryIntervalMs);
                 }