浏览代码

add retry count for search, if retry for more than 3 times, throw exception.

Nian Liu 1 年之前
父节点
当前提交
9ca16012b5
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/main/java/io/milvus/v2/service/vector/VectorService.java

+ 5 - 0
src/main/java/io/milvus/v2/service/vector/VectorService.java

@@ -77,10 +77,15 @@ public class VectorService extends BaseService {
         SearchRequest searchRequest = vectorUtils.ConvertToGrpcSearchRequest(request);
         SearchRequest searchRequest = vectorUtils.ConvertToGrpcSearchRequest(request);
 
 
         SearchResults response = milvusServiceBlockingStub.search(searchRequest);
         SearchResults response = milvusServiceBlockingStub.search(searchRequest);
+        int retryCount = 3;
         while (response.getStatus().getCode() == 2200) {
         while (response.getStatus().getCode() == 2200) {
+            if (retryCount == 0) {
+                throw new MilvusClientException(ErrorCode.SERVER_ERROR, "retry search request failed");
+            }
             //https://github.com/milvus-io/milvus/issues/29656
             //https://github.com/milvus-io/milvus/issues/29656
             //issue fix, while the status code is 2200, retry the search request
             //issue fix, while the status code is 2200, retry the search request
             response = milvusServiceBlockingStub.search(searchRequest);
             response = milvusServiceBlockingStub.search(searchRequest);
+            retryCount--;
         }
         }
         rpcUtils.handleResponse(title, response.getStatus());
         rpcUtils.handleResponse(title, response.getStatus());