Prechádzať zdrojové kódy

Fix unitest failure (#425)

Signed-off-by: groot <yihua.mo@zilliz.com>
groot 2 rokov pred
rodič
commit
c9b8c28179

+ 5 - 0
src/main/java/io/milvus/param/ParamUtils.java

@@ -1,6 +1,7 @@
 package io.milvus.param;
 
 import com.google.protobuf.ByteString;
+import io.grpc.StatusRuntimeException;
 import io.milvus.common.clientenum.ConsistencyLevelEnum;
 import io.milvus.common.utils.JacksonUtils;
 import io.milvus.exception.IllegalResponseException;
@@ -293,6 +294,7 @@ public class ParamUtils {
                                 .build());
 
         if (null != requestParam.getParams() && !requestParam.getParams().isEmpty()) {
+            try {
             Map<String, Object> paramMap = JacksonUtils.fromJson(requestParam.getParams(),Map.class);
             String offset = paramMap.getOrDefault(Constant.OFFSET, 0).toString();
             builder.addSearchParams(
@@ -305,6 +307,9 @@ public class ParamUtils {
                             .setKey(Constant.PARAMS)
                             .setValue(requestParam.getParams())
                             .build());
+            } catch (IllegalArgumentException e) {
+                throw new ParamException(e.getMessage() + e.getCause().getMessage());
+            }
         }
 
         if (!requestParam.getOutFields().isEmpty()) {

+ 31 - 17
src/test/java/io/milvus/client/MilvusServiceClientTest.java

@@ -1762,7 +1762,7 @@ class MilvusServiceClientTest {
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
                 .addPartitionName("p2")
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1777,7 +1777,7 @@ class MilvusServiceClientTest {
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
                 .addPartitionName("p2")
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1793,7 +1793,7 @@ class MilvusServiceClientTest {
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
                 .addPartitionName("p2")
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1810,7 +1810,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1824,7 +1824,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("")
                 .withMetricType(MetricType.IP)
@@ -1838,7 +1838,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.INVALID)
@@ -1852,7 +1852,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1867,7 +1867,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1882,7 +1882,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1898,7 +1898,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1918,7 +1918,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.HAMMING)
@@ -1933,7 +1933,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.JACCARD)
@@ -1948,7 +1948,7 @@ class MilvusServiceClientTest {
         assertThrows(ParamException.class, () -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.IP)
@@ -1962,7 +1962,7 @@ class MilvusServiceClientTest {
         assertDoesNotThrow(() -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.L2)
@@ -1976,7 +1976,7 @@ class MilvusServiceClientTest {
         assertDoesNotThrow(() -> SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.HAMMING)
@@ -1985,6 +1985,20 @@ class MilvusServiceClientTest {
                 .withExpr("dummy")
                 .build()
         );
+
+        // param is not json format
+        assertDoesNotThrow(() -> SearchParam.newBuilder()
+                .withCollectionName("collection1")
+                .withPartitionNames(partitions)
+                .withParams("dummy")
+                .withOutFields(outputFields)
+                .withVectorFieldName("field1")
+                .withMetricType(MetricType.L2)
+                .withTopK(5)
+                .withVectors(vectors2)
+                .withExpr("dummy")
+                .build()
+        );
     }
 
     @Test
@@ -1998,7 +2012,7 @@ class MilvusServiceClientTest {
         SearchParam param = SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .addOutField("f2")
                 .withVectorFieldName("field1")
@@ -2020,7 +2034,7 @@ class MilvusServiceClientTest {
         param = SearchParam.newBuilder()
                 .withCollectionName("collection1")
                 .withPartitionNames(partitions)
-                .withParams("dummy")
+                .withParams("{}")
                 .withOutFields(outputFields)
                 .withVectorFieldName("field1")
                 .withMetricType(MetricType.HAMMING)