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