This is an automated email from the ASF dual-hosted git repository. lzljs3620320 pushed a commit to branch release-0.8 in repository https://gitbox.apache.org/repos/asf/paimon.git
commit 51103e0437aa66d8f7d13625d0e1b8a3d8090845 Author: Jingsong <[email protected]> AuthorDate: Tue May 14 09:58:57 2024 +0800 [core] Add JsonIgnoreProperties to all JSON class --- .../src/main/java/org/apache/paimon/Changelog.java | 2 + .../java/org/apache/paimon/consumer/Consumer.java | 2 + .../java/org/apache/paimon/stats/ColStats.java | 2 + .../java/org/apache/paimon/stats/Statistics.java | 2 + .../src/main/java/org/apache/paimon/tag/Tag.java | 2 + .../cdc/format/debezium/CdcDebeziumSchema.java | 91 ---------------------- .../action/cdc/mysql/format/DebeziumEvent.java | 2 + 7 files changed, 12 insertions(+), 91 deletions(-) diff --git a/paimon-core/src/main/java/org/apache/paimon/Changelog.java b/paimon-core/src/main/java/org/apache/paimon/Changelog.java index 2ab10a037..8c6295b44 100644 --- a/paimon-core/src/main/java/org/apache/paimon/Changelog.java +++ b/paimon-core/src/main/java/org/apache/paimon/Changelog.java @@ -23,6 +23,7 @@ import org.apache.paimon.fs.Path; import org.apache.paimon.utils.JsonSerdeUtil; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.Nullable; @@ -36,6 +37,7 @@ import java.util.Map; * one source: * <li>The changelog file. Eg: from the changelog-producer = 'input' */ +@JsonIgnoreProperties(ignoreUnknown = true) public class Changelog extends Snapshot { public Changelog(Snapshot snapshot) { diff --git a/paimon-core/src/main/java/org/apache/paimon/consumer/Consumer.java b/paimon-core/src/main/java/org/apache/paimon/consumer/Consumer.java index f1574f199..ffa63ece3 100644 --- a/paimon-core/src/main/java/org/apache/paimon/consumer/Consumer.java +++ b/paimon-core/src/main/java/org/apache/paimon/consumer/Consumer.java @@ -24,6 +24,7 @@ import org.apache.paimon.utils.JsonSerdeUtil; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonGetter; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; import java.io.IOException; @@ -31,6 +32,7 @@ import java.io.UncheckedIOException; import java.util.Optional; /** Consumer which contains next snapshot. */ +@JsonIgnoreProperties(ignoreUnknown = true) public class Consumer { private static final String FIELD_NEXT_SNAPSHOT = "nextSnapshot"; diff --git a/paimon-core/src/main/java/org/apache/paimon/stats/ColStats.java b/paimon-core/src/main/java/org/apache/paimon/stats/ColStats.java index 35baf1a5b..1b376c356 100644 --- a/paimon-core/src/main/java/org/apache/paimon/stats/ColStats.java +++ b/paimon-core/src/main/java/org/apache/paimon/stats/ColStats.java @@ -26,6 +26,7 @@ import org.apache.paimon.utils.JsonSerdeUtil; import org.apache.paimon.utils.OptionalUtils; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonInclude; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; @@ -50,6 +51,7 @@ import java.util.OptionalLong; * @param <T> col internal data type */ @Experimental +@JsonIgnoreProperties(ignoreUnknown = true) public class ColStats<T> { private static final String FIELD_COL_ID = "colId"; diff --git a/paimon-core/src/main/java/org/apache/paimon/stats/Statistics.java b/paimon-core/src/main/java/org/apache/paimon/stats/Statistics.java index 60a121cd9..5d9403044 100644 --- a/paimon-core/src/main/java/org/apache/paimon/stats/Statistics.java +++ b/paimon-core/src/main/java/org/apache/paimon/stats/Statistics.java @@ -27,6 +27,7 @@ import org.apache.paimon.utils.JsonSerdeUtil; import org.apache.paimon.utils.OptionalUtils; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonInclude; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; @@ -48,6 +49,7 @@ import java.util.OptionalLong; * </ul> */ @Experimental +@JsonIgnoreProperties(ignoreUnknown = true) public class Statistics { // ID of the snapshot this statistics collected from diff --git a/paimon-core/src/main/java/org/apache/paimon/tag/Tag.java b/paimon-core/src/main/java/org/apache/paimon/tag/Tag.java index 938bb417d..f1ac879d3 100644 --- a/paimon-core/src/main/java/org/apache/paimon/tag/Tag.java +++ b/paimon-core/src/main/java/org/apache/paimon/tag/Tag.java @@ -25,6 +25,7 @@ import org.apache.paimon.utils.JsonSerdeUtil; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonGetter; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonInclude; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; @@ -38,6 +39,7 @@ import java.util.Map; import java.util.Objects; /** Snapshot with tagCreateTime and tagTimeRetained. */ +@JsonIgnoreProperties(ignoreUnknown = true) public class Tag extends Snapshot { private static final String FIELD_TAG_CREATE_TIME = "tagCreateTime"; diff --git a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/format/debezium/CdcDebeziumSchema.java b/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/format/debezium/CdcDebeziumSchema.java deleted file mode 100644 index 64f3a1267..000000000 --- a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/format/debezium/CdcDebeziumSchema.java +++ /dev/null @@ -1,91 +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 org.apache.paimon.flink.action.cdc.format.debezium; - -import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; -import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonGetter; -import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; - -import java.util.List; - -/** Cdc Debezium Schema Entity. */ -@JsonIgnoreProperties(ignoreUnknown = true) -public class CdcDebeziumSchema { - - private static final String FIELD_FIELDS = "fields"; - private static final String FIELD_NAME = "name"; - private static final String FIELD_TYPE = "type"; - private static final String FIELD_FIELD = "field"; - private static final String FIELD_OPTIONAL = "optional"; - - @JsonProperty(FIELD_FIELD) - private final String field; - - @JsonProperty(FIELD_TYPE) - private final String type; - - @JsonProperty(FIELD_OPTIONAL) - private final Boolean optional; - - @JsonProperty(FIELD_FIELDS) - private final List<CdcDebeziumSchema> fields; - - @JsonProperty(FIELD_NAME) - private final String name; - - @JsonCreator - public CdcDebeziumSchema( - @JsonProperty(FIELD_FIELD) String field, - @JsonProperty(FIELD_TYPE) String type, - @JsonProperty(FIELD_OPTIONAL) Boolean optional, - @JsonProperty(FIELD_FIELDS) List<CdcDebeziumSchema> fields, - @JsonProperty(FIELD_NAME) String name) { - this.field = field; - this.type = type; - this.optional = optional; - this.fields = fields; - this.name = name; - } - - @JsonGetter(FIELD_FIELD) - public String field() { - return field; - } - - @JsonGetter(FIELD_TYPE) - public String type() { - return type; - } - - @JsonGetter(FIELD_OPTIONAL) - public Boolean optional() { - return optional; - } - - @JsonGetter(FIELD_FIELDS) - public List<CdcDebeziumSchema> fields() { - return fields; - } - - @JsonGetter(FIELD_NAME) - public String name() { - return name; - } -} diff --git a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/format/DebeziumEvent.java b/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/format/DebeziumEvent.java index ebc1bf1b5..afaa4cb0a 100644 --- a/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/format/DebeziumEvent.java +++ b/paimon-flink/paimon-flink-cdc/src/main/java/org/apache/paimon/flink/action/cdc/mysql/format/DebeziumEvent.java @@ -21,6 +21,7 @@ package org.apache.paimon.flink.action.cdc.mysql.format; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonCreator; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonGetter; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnore; +import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.annotation.JsonProperty; import org.apache.paimon.shade.jackson2.com.fasterxml.jackson.databind.JsonNode; @@ -36,6 +37,7 @@ import java.util.function.Predicate; import java.util.stream.Collectors; /** Debezium Event Records Entity. */ +@JsonIgnoreProperties(ignoreUnknown = true) public class DebeziumEvent { private static final String FIELD_PAYLOAD = "payload";
