Browse Source

Adjust the CloudImport method to align with the logic of SDKs in other languages (#1098)

Signed-off-by: lentitude2tk <xushuang.hu@zilliz.com>
xushuang.hu 6 tháng trước cách đây
mục cha
commit
df25a484e9

+ 37 - 29
examples/main/java/io/milvus/v1/BulkWriterExample.java

@@ -27,7 +27,7 @@ import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
 import io.milvus.bulkwriter.BulkWriter;
-import io.milvus.bulkwriter.CloudImportV2;
+import io.milvus.bulkwriter.CloudImport;
 import io.milvus.bulkwriter.LocalBulkWriter;
 import io.milvus.bulkwriter.LocalBulkWriterParam;
 import io.milvus.bulkwriter.RemoteBulkWriter;
@@ -40,12 +40,9 @@ import io.milvus.bulkwriter.common.utils.ParquetReaderUtils;
 import io.milvus.bulkwriter.connect.AzureConnectParam;
 import io.milvus.bulkwriter.connect.S3ConnectParam;
 import io.milvus.bulkwriter.connect.StorageConnectParam;
-import io.milvus.bulkwriter.request.v2.BulkImportV2Request;
-import io.milvus.bulkwriter.request.v2.GetImportProgressV2Request;
-import io.milvus.bulkwriter.request.v2.ListImportJobsV2Request;
-import io.milvus.bulkwriter.response.v2.BulkImportV2Response;
-import io.milvus.bulkwriter.response.v2.GetImportProgressV2Response;
-import io.milvus.bulkwriter.response.v2.ListImportJobsV2Response;
+import io.milvus.bulkwriter.request.BulkImportRequest;
+import io.milvus.bulkwriter.request.GetImportProgressRequest;
+import io.milvus.bulkwriter.request.ListImportJobsRequest;
 import io.milvus.client.MilvusClient;
 import io.milvus.client.MilvusServiceClient;
 import io.milvus.common.utils.ExceptionUtils;
@@ -81,7 +78,6 @@ import org.apache.http.util.Asserts;
 
 import java.io.File;
 import java.io.IOException;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
@@ -561,7 +557,7 @@ public class BulkWriterExample {
         System.out.println("Collection row number: " + getCollectionStatistics());
     }
 
-    private void callCloudImport(List<List<String>> batchFiles, String collectionName, String partitionName) throws InterruptedException, MalformedURLException {
+    private void callCloudImport(List<List<String>> batchFiles, String collectionName, String partitionName) throws InterruptedException {
         System.out.println("\n===================== call cloudImport ====================");
 
         String objectUrl = StorageConsts.cloudStorage == CloudStorage.AZURE
@@ -570,28 +566,34 @@ public class BulkWriterExample {
         String accessKey = StorageConsts.cloudStorage == CloudStorage.AZURE ? StorageConsts.AZURE_ACCOUNT_NAME : StorageConsts.STORAGE_ACCESS_KEY;
         String secretKey = StorageConsts.cloudStorage == CloudStorage.AZURE ? StorageConsts.AZURE_ACCOUNT_KEY : StorageConsts.STORAGE_SECRET_KEY;
 
-        BulkImportV2Request bulkImportRequest = BulkImportV2Request.builder()
+        BulkImportRequest bulkImportRequest = BulkImportRequest.builder()
                 .objectUrl(objectUrl).accessKey(accessKey).secretKey(secretKey)
                 .clusterId(CloudImportConsts.CLUSTER_ID).collectionName(collectionName).partitionName(partitionName)
                 .build();
-        BulkImportV2Response bulkImportResponse = CloudImportV2.createImportJobs(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, bulkImportRequest);
-        String jobId = bulkImportResponse.getJobId();
+        String bulkImportResult = CloudImport.bulkImport(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, bulkImportRequest);
+        JsonObject bulkImportObject = convertDataMap(bulkImportResult);
+
+        String jobId = bulkImportObject.getAsJsonObject("data").get("jobId").getAsString();
         System.out.println("Create a cloudImport job, job id: " + jobId);
 
         while (true) {
             System.out.println("Wait 5 second to check bulkInsert job state...");
             TimeUnit.SECONDS.sleep(5);
 
-            GetImportProgressV2Request request = GetImportProgressV2Request.builder().clusterId(CloudImportConsts.CLUSTER_ID).jobId(jobId).build();
-            GetImportProgressV2Response getImportProgressResponse = CloudImportV2.getImportJobProgress(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, request);
-            if ("Completed".equals(getImportProgressResponse.getState())) {
+            GetImportProgressRequest request = GetImportProgressRequest.builder().clusterId(CloudImportConsts.CLUSTER_ID).jobId(jobId).build();
+            String getImportProgressResult = CloudImport.getImportProgress(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, request);
+            JsonObject getImportProgressObject = convertDataMap(getImportProgressResult);
+            String importProgressState = getImportProgressObject.getAsJsonObject("data").get("state").getAsString();
+            String reason = getImportProgressObject.getAsJsonObject("data").get("reason").getAsString();
+            String progress = getImportProgressObject.getAsJsonObject("data").get("progress").getAsString();
+            if ("Completed".equals(importProgressState)) {
                 System.out.printf("The job %s completed%n", jobId);
                 break;
-            } else if (StringUtils.isNotEmpty(getImportProgressResponse.getReason())) {
-                System.out.printf("The job %s failed or canceled, reason: %s%n", jobId, getImportProgressResponse.getReason());
+            } else if (StringUtils.isNotEmpty(reason)) {
+                System.out.printf("The job %s failed or canceled, reason: %s%n", jobId, reason);
                 break;
             } else {
-                System.out.printf("The job %s is running, progress:%s%n", jobId, getImportProgressResponse.getProgress());
+                System.out.printf("The job %s is running, progress:%s%n", jobId, progress);
             }
         }
 
@@ -768,25 +770,27 @@ public class BulkWriterExample {
         return wrapper.getRowCount();
     }
 
-    private static void exampleCloudImport() throws MalformedURLException {
+    private static void exampleCloudImport() {
         System.out.println("\n===================== import files to cloud vectordb ====================");
-        BulkImportV2Request request = BulkImportV2Request.builder()
+        BulkImportRequest request = BulkImportRequest.builder()
                 .objectUrl(CloudImportConsts.OBJECT_URL).accessKey(CloudImportConsts.OBJECT_ACCESS_KEY).secretKey(CloudImportConsts.OBJECT_SECRET_KEY)
                 .clusterId(CloudImportConsts.CLUSTER_ID).collectionName(CloudImportConsts.COLLECTION_NAME).partitionName(CloudImportConsts.PARTITION_NAME)
                 .build();
-        BulkImportV2Response bulkImportResponse = CloudImportV2.createImportJobs(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, request);
-        System.out.println(GSON_INSTANCE.toJson(bulkImportResponse));
+        String bulkImportResult = CloudImport.bulkImport(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, request);
+        System.out.println(bulkImportResult);
 
         System.out.println("\n===================== get import job progress ====================");
-        String jobId = bulkImportResponse.getJobId();
-        GetImportProgressV2Request getImportProgressRequest = GetImportProgressV2Request.builder().clusterId(CloudImportConsts.CLUSTER_ID).jobId(jobId).build();
-        GetImportProgressV2Response getImportProgressResponse = CloudImportV2.getImportJobProgress(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, getImportProgressRequest);
-        System.out.println(GSON_INSTANCE.toJson(getImportProgressResponse));
+
+        JsonObject bulkImportObject = convertDataMap(bulkImportResult);
+        String jobId = bulkImportObject.getAsJsonObject("data").get("jobId").getAsString();
+        GetImportProgressRequest getImportProgressRequest = GetImportProgressRequest.builder().clusterId(CloudImportConsts.CLUSTER_ID).jobId(jobId).build();
+        String getImportProgressResult = CloudImport.getImportProgress(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, getImportProgressRequest);
+        System.out.println(getImportProgressResult);
 
         System.out.println("\n===================== list import jobs ====================");
-        ListImportJobsV2Request listImportJobsRequest = ListImportJobsV2Request.builder().clusterId(CloudImportConsts.CLUSTER_ID).currentPage(1).pageSize(10).build();
-        ListImportJobsV2Response listImportJobsResponse = CloudImportV2.listImportJobs(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, listImportJobsRequest);
-        System.out.println(GSON_INSTANCE.toJson(listImportJobsResponse));
+        ListImportJobsRequest listImportJobsRequest = ListImportJobsRequest.builder().clusterId(CloudImportConsts.CLUSTER_ID).currentPage(1).pageSize(10).build();
+        String listImportJobsResult = CloudImport.listImportJobs(CloudImportConsts.CLOUD_ENDPOINT, CloudImportConsts.API_KEY, listImportJobsRequest);
+        System.out.println(listImportJobsResult);
     }
 
     private CollectionSchemaParam buildSimpleSchema() {
@@ -968,4 +972,8 @@ public class BulkWriterExample {
             throw new RuntimeException(msg);
         }
     }
+
+    private static JsonObject convertDataMap(String result) {
+        return GSON_INSTANCE.fromJson(result, JsonObject.class);
+    }
 }

+ 2 - 21
src/main/java/io/milvus/bulkwriter/BaseCloudImport.java

@@ -19,7 +19,6 @@
 
 package io.milvus.bulkwriter;
 
-import com.google.gson.Gson;
 import io.milvus.bulkwriter.response.RestfulResponse;
 import io.milvus.common.utils.ExceptionUtils;
 import kong.unirest.Unirest;
@@ -28,8 +27,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 public class BaseCloudImport {
-    private static final Gson GSON_INSTANCE = new Gson();
-
     protected static String postRequest(String url, String apiKey, Map<String, Object> params, int timeout) {
         try {
             kong.unirest.HttpResponse<String> response = Unirest.post(url)
@@ -37,7 +34,7 @@ public class BaseCloudImport {
                     .headers(httpHeaders(apiKey))
                     .body(params).asString();
             if (response.getStatus() != 200) {
-                ExceptionUtils.throwUnExpectedException(String.format("Failed to post url: %s, status code: %s", url, response.getStatus()));
+                ExceptionUtils.throwUnExpectedException(String.format("Failed to post url: %s, status code: %s, msg: %s", url, response.getStatus(), response.getBody()));
             } else {
                 return response.getBody();
             }
@@ -54,7 +51,7 @@ public class BaseCloudImport {
                     .headers(httpHeaders(apiKey))
                     .queryString(params).asString();
             if (response.getStatus() != 200) {
-                ExceptionUtils.throwUnExpectedException(String.format("Failed to get url: %s, status code: %s", url, response.getStatus()));
+                ExceptionUtils.throwUnExpectedException(String.format("Failed to get url: %s, status code: %s, msg: %s", url, response.getStatus(), response.getBody()));
             } else {
                 return response.getBody();
             }
@@ -85,20 +82,4 @@ public class BaseCloudImport {
             ExceptionUtils.throwUnExpectedException(String.format("Failed to request url: %s, code: %s, message: %s", url, innerCode, innerMessage));
         }
     }
-
-    protected static String convertToV2ControlBaseURL(String url) {
-        /**
-         * Compatible with the original v1 API format: https://controller.api.{region-name}.cloud.zilliz.com
-         * Unified overseas domain for control center calls to reduce user perception
-         */
-        if (url.endsWith(".com")) {
-            return "https://api.cloud.zilliz.com";
-        }
-
-        /**
-         * Compatible with the original v1 API format: https://controller.api.{region-name}.cloud.zilliz.com.cn
-         * Unified domestic domain for control center calls to reduce user perception
-         */
-        return "https://api.cloud.zilliz.com.cn";
-    }
 }

+ 16 - 39
src/main/java/io/milvus/bulkwriter/CloudImport.java

@@ -21,67 +21,44 @@ package io.milvus.bulkwriter;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
-import io.milvus.bulkwriter.response.BulkImportResponse;
-import io.milvus.bulkwriter.response.GetImportProgressResponse;
-import io.milvus.bulkwriter.response.ListImportJobsResponse;
+import io.milvus.bulkwriter.request.BulkImportRequest;
+import io.milvus.bulkwriter.request.GetImportProgressRequest;
+import io.milvus.bulkwriter.request.ListImportJobsRequest;
 import io.milvus.bulkwriter.response.RestfulResponse;
-import io.milvus.bulkwriter.response.v2.GetImportProgressV2Response;
-import io.milvus.bulkwriter.response.v2.ListImportJobsV2Response;
 
-import java.net.MalformedURLException;
-import java.util.HashMap;
 import java.util.Map;
 
-@Deprecated
-// use CloudImportV2 replace
 public class CloudImport extends BaseCloudImport {
     private static final Gson GSON_INSTANCE = new Gson();
 
-    public static BulkImportResponse bulkImport(String url, String apiKey, String objectUrl,
-                                                String accessKey, String secretKey, String clusterId, String collectionName) throws MalformedURLException {
-        url = convertToV2ControlBaseURL(url);
+    public static String bulkImport(String url, String apiKey, BulkImportRequest request) {
         String requestURL = url + "/v2/vectordb/jobs/import/create";
 
-        Map<String, Object> params = new HashMap<>();
-        params.put("objectUrl", objectUrl);
-        params.put("accessKey", accessKey);
-        params.put("secretKey", secretKey);
-        params.put("clusterId", clusterId);
-        params.put("collectionName", collectionName);
-
+        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
         String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<BulkImportResponse> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<BulkImportResponse>>(){}.getType());
+        RestfulResponse<Object> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<Object>>(){}.getType());
         handleResponse(requestURL, response);
-        return response.getData();
+        return body;
     }
 
-    public static GetImportProgressResponse getImportProgress(String url, String apiKey, String jobId, String clusterId) throws MalformedURLException {
-        url = convertToV2ControlBaseURL(url);
-        String requestURL = url + "/v2/vectordb/jobs/import/getProgress";
-
-        Map<String, Object> params = new HashMap<>();
-        params.put("clusterId", clusterId);
-        params.put("jobId", jobId);
+    public static String getImportProgress(String url, String apiKey, GetImportProgressRequest request) {
+        String requestURL = url + "/v2/vectordb/jobs/import/describe";
 
+        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
         String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<GetImportProgressV2Response> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<GetImportProgressV2Response>>(){}.getType());
+        RestfulResponse<Object> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<Object>>(){}.getType());
         handleResponse(requestURL, response);
-        return response.getData().toGetImportProgressResponse();
+        return body;
     }
 
-    public static ListImportJobsResponse listImportJobs(String url, String apiKey, String clusterId, int pageSize, int currentPage) throws MalformedURLException {
-        url = convertToV2ControlBaseURL(url);
+    public static String listImportJobs(String url, String apiKey, ListImportJobsRequest request) {
         String requestURL = url + "/v2/vectordb/jobs/import/list";
 
-        Map<String, Object> params = new HashMap<>();
-        params.put("clusterId", clusterId);
-        params.put("pageSize", pageSize);
-        params.put("currentPage", currentPage);
-
+        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
         String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<ListImportJobsV2Response> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<ListImportJobsV2Response>>(){}.getType());
+        RestfulResponse<Object> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<Object>>(){}.getType());
         handleResponse(requestURL, response);
-        return response.getData().toListImportJobsResponse();
+        return body;
     }
 
 }

+ 0 - 69
src/main/java/io/milvus/bulkwriter/CloudImportV2.java

@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package io.milvus.bulkwriter;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import io.milvus.bulkwriter.request.v2.BulkImportV2Request;
-import io.milvus.bulkwriter.request.v2.GetImportProgressV2Request;
-import io.milvus.bulkwriter.request.v2.ListImportJobsV2Request;
-import io.milvus.bulkwriter.response.RestfulResponse;
-import io.milvus.bulkwriter.response.v2.BulkImportV2Response;
-import io.milvus.bulkwriter.response.v2.GetImportProgressV2Response;
-import io.milvus.bulkwriter.response.v2.ListImportJobsV2Response;
-
-import java.net.MalformedURLException;
-import java.util.Map;
-
-public class CloudImportV2 extends BaseCloudImport {
-    private static final Gson GSON_INSTANCE = new Gson();
-
-    public static BulkImportV2Response createImportJobs(String url, String apiKey, BulkImportV2Request request) throws MalformedURLException {
-        String requestURL = url + "/v2/vectordb/jobs/import/create";
-
-        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
-        String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<BulkImportV2Response> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<BulkImportV2Response>>(){}.getType());
-        handleResponse(requestURL, response);
-        return response.getData();
-    }
-
-    public static GetImportProgressV2Response getImportJobProgress(String url, String apiKey, GetImportProgressV2Request request) throws MalformedURLException {
-        String requestURL = url + "/v2/vectordb/jobs/import/getProgress";
-
-        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
-        String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<GetImportProgressV2Response> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<GetImportProgressV2Response>>(){}.getType());
-        handleResponse(requestURL, response);
-        return response.getData();
-    }
-
-    public static ListImportJobsV2Response listImportJobs(String url, String apiKey, ListImportJobsV2Request request) throws MalformedURLException {
-        String requestURL = url + "/v2/vectordb/jobs/import/list";
-
-        Map<String, Object> params = GSON_INSTANCE.fromJson(GSON_INSTANCE.toJson(request), new TypeToken<Map<String, Object>>() {}.getType());
-
-
-        String body = postRequest(requestURL, apiKey, params, 60 * 1000);
-        RestfulResponse<ListImportJobsV2Response> response = GSON_INSTANCE.fromJson(body, new TypeToken<RestfulResponse<ListImportJobsV2Response>>(){}.getType());
-        handleResponse(requestURL, response);
-        return response.getData();
-    }
-}

+ 2 - 2
src/main/java/io/milvus/bulkwriter/request/v2/BulkImportV2Request.java → src/main/java/io/milvus/bulkwriter/request/BulkImportRequest.java

@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package io.milvus.bulkwriter.request.v2;
+package io.milvus.bulkwriter.request;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -30,7 +30,7 @@ import java.io.Serializable;
 @Builder
 @AllArgsConstructor
 @NoArgsConstructor
-public class BulkImportV2Request implements Serializable {
+public class BulkImportRequest implements Serializable {
     private static final long serialVersionUID = 8192049841043084620L;
     private String objectUrl;
     private String accessKey;

+ 2 - 2
src/main/java/io/milvus/bulkwriter/request/v2/GetImportProgressV2Request.java → src/main/java/io/milvus/bulkwriter/request/GetImportProgressRequest.java

@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package io.milvus.bulkwriter.request.v2;
+package io.milvus.bulkwriter.request;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -30,7 +30,7 @@ import java.io.Serializable;
 @Builder
 @AllArgsConstructor
 @NoArgsConstructor
-public class GetImportProgressV2Request implements Serializable {
+public class GetImportProgressRequest implements Serializable {
     private static final long serialVersionUID = -787626534606813089L;
     private String clusterId;
     private String jobId;

+ 2 - 2
src/main/java/io/milvus/bulkwriter/request/v2/ListImportJobsV2Request.java → src/main/java/io/milvus/bulkwriter/request/ListImportJobsRequest.java

@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package io.milvus.bulkwriter.request.v2;
+package io.milvus.bulkwriter.request;
 
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -30,7 +30,7 @@ import java.io.Serializable;
 @Builder
 @AllArgsConstructor
 @NoArgsConstructor
-public class ListImportJobsV2Request implements Serializable {
+public class ListImportJobsRequest implements Serializable {
     private static final long serialVersionUID = -1890380396466908530L;
 
     private String clusterId;

+ 15 - 9
src/main/java/io/milvus/bulkwriter/response/GetImportProgressResponse.java

@@ -32,21 +32,26 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 public class GetImportProgressResponse implements Serializable {
-    private static final long serialVersionUID = -7162743560382861611L;
+
+    private static final long serialVersionUID = -2302203037749197132L;
+
+    private String jobId;
+
+    private String collectionName;
 
     private String fileName;
 
     private Integer fileSize;
 
-    private Double readyPercentage;
+    private String state;
 
-    private String completeTime;
+    private Integer progress;
 
-    private String errorMessage;
+    private String completeTime;
 
-    private String collectionName;
+    private String reason;
 
-    private String jobId;
+    private Integer totalRows;
 
     private List<Detail> details;
 
@@ -54,11 +59,12 @@ public class GetImportProgressResponse implements Serializable {
     @Builder
     @AllArgsConstructor
     @NoArgsConstructor
-    public static class Detail {
+    private static class Detail {
         private String fileName;
         private Integer fileSize;
-        private Double readyPercentage;
+        private String state;
+        private Integer progress;
         private String completeTime;
-        private String errorMessage;
+        private String reason;
     }
 }

+ 2 - 6
src/main/java/io/milvus/bulkwriter/response/ListImportJobsResponse.java

@@ -32,7 +32,8 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 public class ListImportJobsResponse implements Serializable {
-    private static final long serialVersionUID = -7162743560382861611L;
+
+    private static final long serialVersionUID = -8400893490624599225L;
 
     private Integer count;
 
@@ -40,10 +41,5 @@ public class ListImportJobsResponse implements Serializable {
 
     private Integer pageSize;
 
-    private List<Record> tasks;
-
-    @Deprecated
-    // Invalid field, please use tasks.
     private List<Record> records;
-
 }

+ 0 - 37
src/main/java/io/milvus/bulkwriter/response/v2/BulkImportV2Response.java

@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package io.milvus.bulkwriter.response.v2;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class BulkImportV2Response implements Serializable {
-
-    private static final long serialVersionUID = 4782067096929198967L;
-    private String jobId;
-}

+ 0 - 99
src/main/java/io/milvus/bulkwriter/response/v2/GetImportProgressV2Response.java

@@ -1,99 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package io.milvus.bulkwriter.response.v2;
-
-import io.milvus.bulkwriter.response.GetImportProgressResponse;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class GetImportProgressV2Response implements Serializable {
-
-    private static final long serialVersionUID = -2302203037749197132L;
-
-    private String jobId;
-
-    private String collectionName;
-
-    private String fileName;
-
-    private Integer fileSize;
-
-    private String state;
-
-    private Integer progress;
-
-    private String completeTime;
-
-    private String reason;
-
-    private Integer totalRows;
-
-    private List<DetailV2> details;
-
-    @Data
-    @Builder
-    @AllArgsConstructor
-    @NoArgsConstructor
-    private static class DetailV2 {
-        private String fileName;
-        private Integer fileSize;
-        private String state;
-        private Integer progress;
-        private String completeTime;
-        private String reason;
-
-
-        public GetImportProgressResponse.Detail toDetail() {
-            GetImportProgressResponse.Detail detail = new GetImportProgressResponse.Detail();
-            detail.setFileName(fileName);
-            detail.setFileSize(fileSize);
-            detail.setReadyPercentage(progress == null ? null : Double.valueOf(progress));
-            detail.setErrorMessage(reason);
-            detail.setCompleteTime(completeTime);
-            return detail;
-        }
-    }
-
-    public GetImportProgressResponse toGetImportProgressResponse() {
-        GetImportProgressResponse response = new GetImportProgressResponse();
-        response.setJobId(jobId);
-        response.setCollectionName(collectionName);
-        response.setFileName(fileName);
-        response.setFileSize(fileSize);
-        response.setReadyPercentage(progress == null ? null : Double.valueOf(progress));
-        response.setCompleteTime(completeTime);
-        response.setErrorMessage(reason);
-
-        List<GetImportProgressResponse.Detail> details = this.details.stream().map(DetailV2::toDetail).collect(Collectors.toList());
-        response.setDetails(details);
-        return response;
-    }
-
-}

+ 0 - 77
src/main/java/io/milvus/bulkwriter/response/v2/ListImportJobsV2Response.java

@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package io.milvus.bulkwriter.response.v2;
-
-import com.google.common.collect.ImmutableMap;
-import io.milvus.bulkwriter.response.ListImportJobsResponse;
-import io.milvus.bulkwriter.response.Record;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class ListImportJobsV2Response implements Serializable {
-
-    private static final long serialVersionUID = -8400893490624599225L;
-
-    private Integer count;
-
-    private Integer currentPage;
-
-    private Integer pageSize;
-
-    private List<Record> records;
-
-    public ListImportJobsResponse toListImportJobsResponse() {
-        Map<String, String> newOldStateMap = ImmutableMap.of(
-                "Pending","ImportPending",
-                "Importing","ImportRunning",
-                "Completed","ImportCompleted",
-                "Failed","ImportFailed",
-                "Cancel","ImportCancel"
-        );
-
-        List<Record> tasks = new ArrayList<>();
-        for (Record record : records) {
-            Record task = Record.builder()
-                    .jobId(record.getJobId())
-                    .collectionName(record.getCollectionName())
-                    .state(newOldStateMap.get(record.getState()))
-                    .build();
-            tasks.add(task);
-        }
-
-        ListImportJobsResponse listImportJobsResponse = new ListImportJobsResponse();
-        listImportJobsResponse.setCount(count);
-        listImportJobsResponse.setCurrentPage(currentPage);
-        listImportJobsResponse.setPageSize(pageSize);
-        listImportJobsResponse.setTasks(tasks);
-        return listImportJobsResponse;
-    }
-}