Переглянути джерело

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

Nian Liu 1 рік тому
батько
коміт
9ca16012b5

+ 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);
 
         SearchResults response = milvusServiceBlockingStub.search(searchRequest);
+        int retryCount = 3;
         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
             //issue fix, while the status code is 2200, retry the search request
             response = milvusServiceBlockingStub.search(searchRequest);
+            retryCount--;
         }
         rpcUtils.handleResponse(title, response.getStatus());