Browse Source

Ronaldo2.3 (#664)

* fix connectparam and hascollection param databaseName can be null.

Signed-off-by: “yelusion” <xun.huang@zilliz.com>

* fix only cloud serverless cluster port must be 443.

Signed-off-by: “yelusion” <xun.huang@zilliz.com>

---------

Signed-off-by: “yelusion” <xun.huang@zilliz.com>
yelusion 1 year ago
parent
commit
d08378db9e

+ 2 - 0
src/main/java/io/milvus/common/constant/MilvusClientConstant.java

@@ -6,6 +6,8 @@ public class MilvusClientConstant {
         public final static String HOST_HTTPS_PREFIX = "https://";
 
         public final static String HOST_HTTP_PREFIX = "http://";
+
+        public final static String CLOUD_SERVERLESS_URI_REGEX = "^https://in03-.{20,}zilliz.*.com$";
     }
     public static class StringValue {
         public final static String COLON = ":";

+ 9 - 2
src/main/java/io/milvus/param/ConnectParam.java

@@ -28,6 +28,10 @@ import org.apache.commons.lang3.StringUtils;
 import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.concurrent.TimeUnit;
+import java.util.regex.Pattern;
+
+import static io.milvus.common.constant.MilvusClientConstant.MilvusConsts.CLOUD_SERVERLESS_URI_REGEX;
+import static io.milvus.common.constant.MilvusClientConstant.MilvusConsts.HOST_HTTPS_PREFIX;
 
 /**
  * Parameters for client connection.
@@ -353,12 +357,15 @@ public class ConnectParam {
                 this.databaseName = result.getDatabase();
             }
 
+            if(host.startsWith(HOST_HTTPS_PREFIX)){
+                this.secure = true;
+            }
+
             if (StringUtils.isNotEmpty(token)) {
                 this.authorization = Base64.getEncoder().encodeToString(String.format("%s", token).getBytes(StandardCharsets.UTF_8));
-                if (!token.contains(":")) {
+                if (Pattern.matches(CLOUD_SERVERLESS_URI_REGEX, this.uri)) {
                     this.port = 443;
                 }
-                this.secure = true; //
             }
 
             if (port < 0 || port > 0xFFFF) {