This is an automated email from the ASF dual-hosted git repository.

diwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-flink-connector.git

The following commit(s) were added to refs/heads/master by this push:
     new 11aa9289 [Improvement] add resposne ignore field config (#549)
11aa9289 is described below

commit 11aa92890320e5d231f13c6cce73b88f421ecf3a
Author: wudi <676366...@qq.com>
AuthorDate: Thu Jan 23 11:30:45 2025 +0800

    [Improvement] add resposne ignore field config (#549)
---
 .../apache/doris/flink/rest/models/BackendV2.java  |  1 +
 .../org/apache/doris/flink/rest/models/Field.java  |  2 ++
 .../apache/doris/flink/rest/models/QueryPlan.java  |  2 ++
 .../org/apache/doris/flink/rest/models/Schema.java |  3 +++
 .../org/apache/doris/flink/rest/models/Tablet.java |  3 +++
 .../apache/doris/flink/rest/TestRestService.java   | 24 +++++++++++++---------
 6 files changed, 25 insertions(+), 10 deletions(-)

diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/BackendV2.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/BackendV2.java
index 0a160e7c..c825123a 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/BackendV2.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/BackendV2.java
@@ -37,6 +37,7 @@ public class BackendV2 {
         this.backends = backends;
     }
 
+    @JsonIgnoreProperties(ignoreUnknown = true)
     public static class BackendRowV2 {
         @JsonProperty("ip")
         public String ip;
diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Field.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Field.java
index fed50cbe..63e67437 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Field.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Field.java
@@ -17,8 +17,10 @@
 
 package org.apache.doris.flink.rest.models;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class Field {
     @JsonProperty(value = "name")
     private String name;
diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/QueryPlan.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/QueryPlan.java
index bafc89cc..b1641299 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/QueryPlan.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/QueryPlan.java
@@ -17,10 +17,12 @@
 
 package org.apache.doris.flink.rest.models;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 import java.util.Map;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class QueryPlan {
     @JsonProperty(value = "status")
     private int status;
diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Schema.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Schema.java
index 89df9c6c..a7f20f74 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Schema.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Schema.java
@@ -17,9 +17,12 @@
 
 package org.apache.doris.flink.rest.models;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
 import java.util.ArrayList;
 import java.util.List;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class Schema {
     private int status = 0;
     private String keysType;
diff --git 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Tablet.java
 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Tablet.java
index 6f601df1..0b79d55d 100644
--- 
a/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Tablet.java
+++ 
b/flink-doris-connector/src/main/java/org/apache/doris/flink/rest/models/Tablet.java
@@ -17,8 +17,11 @@
 
 package org.apache.doris.flink.rest.models;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
 import java.util.List;
 
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class Tablet {
     private List<String> routings;
     private int version;
diff --git 
a/flink-doris-connector/src/test/java/org/apache/doris/flink/rest/TestRestService.java
 
b/flink-doris-connector/src/test/java/org/apache/doris/flink/rest/TestRestService.java
index 42487acf..a63930f0 100644
--- 
a/flink-doris-connector/src/test/java/org/apache/doris/flink/rest/TestRestService.java
+++ 
b/flink-doris-connector/src/test/java/org/apache/doris/flink/rest/TestRestService.java
@@ -42,6 +42,7 @@ import org.slf4j.LoggerFactory;
 import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -49,6 +50,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import static 
org.apache.doris.flink.cfg.ConfigurationOptions.DORIS_TABLET_SIZE_DEFAULT;
 import static 
org.apache.doris.flink.cfg.ConfigurationOptions.DORIS_TABLET_SIZE_MIN;
@@ -186,12 +188,11 @@ public class TestRestService {
     @Test
     public void testFeResponseToSchemaNotMap() throws Exception {
         String notSchemaRes =
-                
"{\"property\":[{\"type\":\"TINYINT\",\"name\":\"k1\",\"comment\":\"\"},"
+                
"{\"properties_error_key\":[{\"type\":\"TINYINT\",\"name\":\"k1\",\"comment\":\"\"},"
                         + 
"{\"name\":\"k5\",\"scale\":\"0\",\"comment\":\"\",\"type\":\"DECIMALV2\",\"precision\":\"9\"}],"
                         + "\"status\":200}";
-        thrown.expect(DorisException.class);
-        thrown.expectMessage(startsWith("Doris FE's response cannot map to 
schema. res: "));
-        RestService.parseSchema(notSchemaRes, logger);
+        Schema schema = RestService.parseSchema(notSchemaRes, logger);
+        Assert.assertTrue(schema.getProperties().isEmpty());
     }
 
     @Test
@@ -215,7 +216,7 @@ public class TestRestService {
     public void testFeResponseToQueryPlan() throws Exception {
         String res =
                 "{\"partitions\":{"
-                        + 
"\"11017\":{\"routings\":[\"be1\",\"be2\"],\"version\":3,\"versionHash\":1,\"schemaHash\":1},"
+                        + 
"\"11017\":{\"routings1\":[\"be1\",\"be2\"],\"version\":3,\"versionHash\":1,\"schemaHash\":1},"
                         + 
"\"11019\":{\"routings\":[\"be3\",\"be4\"],\"version\":3,\"versionHash\":1,\"schemaHash\":1}},"
                         + 
"\"opaqued_query_plan\":\"query_plan\",\"status\":200}";
 
@@ -407,12 +408,15 @@ public class TestRestService {
     }
 
     @Test
-    public void testParseBackendV2Error() throws Exception {
+    public void testParseBackendV2Error() {
         String response =
-                
"{\"backends\":[{\"ip1\":\"192.168.1.1\",\"http_port\":8042,\"is_alive\":true}, 
{\"ip\":\"192.168.1.2\",\"http_port\":8042,\"is_alive\":true}]}";
-        thrown.expect(DorisRuntimeException.class);
-        thrown.expectMessage(startsWith("Parse Doris BE's response to json 
failed"));
-        RestService.parseBackendV2(response, logger);
+                
"{\"backends\":[{\"ip_error_key\":\"192.168.1.1\",\"http_port\":8042,\"is_alive\":true},
 {\"ip\":\"192.168.1.2\",\"http_port\":8042,\"is_alive\":true}]}";
+        List<BackendV2.BackendRowV2> backendRowV2s = 
RestService.parseBackendV2(response, logger);
+        Assert.assertEquals(2, backendRowV2s.size());
+        List<String> actual = backendRowV2s.stream().map(m -> 
m.ip).collect(Collectors.toList());
+        List<String> excepted = Arrays.asList(null, "192.168.1.2");
+        Assert.assertEquals(actual.size(), excepted.size());
+        Assert.assertTrue(actual.containsAll(excepted));
     }
 
     @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to