Ver Fonte

add shardNum field if listCollection (#1584)

Signed-off-by: lentitude2tk <xushuang.hu@zilliz.com>
xushuang.hu há 1 mês atrás
pai
commit
027c8127da

+ 11 - 0
sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionInfo.java

@@ -0,0 +1,11 @@
+package io.milvus.v2.service.collection;
+
+import lombok.Data;
+import lombok.experimental.SuperBuilder;
+
+@Data
+@SuperBuilder
+public class CollectionInfo {
+    private String collectionName;
+    private Integer shardNum;
+}

+ 16 - 3
sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java

@@ -183,11 +183,24 @@ public class CollectionService extends BaseService {
         ShowCollectionsRequest showCollectionsRequest = ShowCollectionsRequest.newBuilder()
                 .build();
         ShowCollectionsResponse response = blockingStub.showCollections(showCollectionsRequest);
-        ListCollectionsResp listCollectionsResp = ListCollectionsResp.builder()
+
+        List<CollectionInfo> collectionInfos = new ArrayList<>();
+        for (int i = 0; i < response.getCollectionNamesCount(); i++) {
+            CollectionInfo collectionInfo = CollectionInfo.builder()
+                    .collectionName(response.getCollectionNames(i))
+                    .build();
+            // Milvus version >= 2.6.1 will additionally return shardNum
+            List<Integer> shardsNums = response.getShardsNumList();
+            if (CollectionUtils.isNotEmpty(shardsNums)) {
+                collectionInfo.setShardNum(response.getShardsNum(i));
+            }
+            collectionInfos.add(collectionInfo);
+        }
+
+        return ListCollectionsResp.builder()
                 .collectionNames(response.getCollectionNamesList())
+                .collectionInfos(collectionInfos)
                 .build();
-
-        return listCollectionsResp;
     }
 
     public Void dropCollection(MilvusServiceGrpc.MilvusServiceBlockingStub blockingStub, DropCollectionReq request) {

+ 6 - 0
sdk-core/src/main/java/io/milvus/v2/service/collection/response/ListCollectionsResp.java

@@ -19,6 +19,7 @@
 
 package io.milvus.v2.service.collection.response;
 
+import io.milvus.v2.service.collection.CollectionInfo;
 import lombok.Builder;
 import lombok.Data;
 import lombok.experimental.SuperBuilder;
@@ -30,5 +31,10 @@ import java.util.List;
 @SuperBuilder
 public class ListCollectionsResp {
     @Builder.Default
+    @Deprecated
+    // use collectionInfos instead
     private List<String> collectionNames = new ArrayList<>();
+
+    @Builder.Default
+    private List<CollectionInfo> collectionInfos = new ArrayList<>();
 }