You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/03/23 09:45:19 UTC

[incubator-inlong] branch master updated: [INLONG-3329][Sort] Fix bug of wrong class mapping of debezium serialization info (#3331)

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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new c2bd470  [INLONG-3329][Sort] Fix bug of wrong class mapping of debezium serialization info (#3331)
c2bd470 is described below

commit c2bd4704aab5aaee1ff7ef8bff092e2ef1b618b4
Author: Kevin Wen <ke...@gmail.com>
AuthorDate: Wed Mar 23 17:45:15 2022 +0800

    [INLONG-3329][Sort] Fix bug of wrong class mapping of debezium serialization info (#3331)
---
 .../protocol/serialization/SerializationInfo.java  |  3 +-
 .../DebeziumSerializationInfoTest.java}            | 32 ++++++++++++----------
 2 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java
index b5cd20f..4706adc 100644
--- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java
+++ b/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java
@@ -21,7 +21,6 @@ import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonSub
 import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeInfo;
 
 import java.io.Serializable;
-import org.apache.inlong.sort.protocol.deserialization.DebeziumDeserializationInfo;
 
 @JsonTypeInfo(
         use = JsonTypeInfo.Id.NAME,
@@ -30,7 +29,7 @@ import org.apache.inlong.sort.protocol.deserialization.DebeziumDeserializationIn
 @JsonSubTypes({
         @JsonSubTypes.Type(value = JsonSerializationInfo.class, name = "json"),
         @JsonSubTypes.Type(value = CanalSerializationInfo.class, name = "canal"),
-        @JsonSubTypes.Type(value = DebeziumDeserializationInfo.class, name = "debezium_json"),
+        @JsonSubTypes.Type(value = DebeziumSerializationInfo.class, name = "debezium_json"),
         @JsonSubTypes.Type(value = AvroSerializationInfo.class, name = "avro")})
 public interface SerializationInfo extends Serializable {
 
diff --git a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java b/inlong-sort/sort-common/src/test/java/org/apache/inlong/sort/protocol/serialization/DebeziumSerializationInfoTest.java
similarity index 51%
copy from inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java
copy to inlong-sort/sort-common/src/test/java/org/apache/inlong/sort/protocol/serialization/DebeziumSerializationInfoTest.java
index b5cd20f..09c89d4 100644
--- a/inlong-sort/sort-common/src/main/java/org/apache/inlong/sort/protocol/serialization/SerializationInfo.java
+++ b/inlong-sort/sort-common/src/test/java/org/apache/inlong/sort/protocol/serialization/DebeziumSerializationInfoTest.java
@@ -17,21 +17,25 @@
 
 package org.apache.inlong.sort.protocol.serialization;
 
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonSubTypes;
-import org.apache.flink.shaded.jackson2.com.fasterxml.jackson.annotation.JsonTypeInfo;
+import org.apache.inlong.sort.protocol.ProtocolBaseTest;
 
-import java.io.Serializable;
-import org.apache.inlong.sort.protocol.deserialization.DebeziumDeserializationInfo;
+public class DebeziumSerializationInfoTest extends ProtocolBaseTest {
 
-@JsonTypeInfo(
-        use = JsonTypeInfo.Id.NAME,
-        include = JsonTypeInfo.As.PROPERTY,
-        property = "type")
-@JsonSubTypes({
-        @JsonSubTypes.Type(value = JsonSerializationInfo.class, name = "json"),
-        @JsonSubTypes.Type(value = CanalSerializationInfo.class, name = "canal"),
-        @JsonSubTypes.Type(value = DebeziumDeserializationInfo.class, name = "debezium_json"),
-        @JsonSubTypes.Type(value = AvroSerializationInfo.class, name = "avro")})
-public interface SerializationInfo extends Serializable {
+    @Override
+    public void init() {
+        expectedObject = new DebeziumSerializationInfo("SQL", "LITERAL", "null", true);
 
+        expectedJson = "{\n"
+                + "    \"type\":\"debezium_json\",\n"
+                + "    \"timestamp_format_standard\":\"SQL\",\n"
+                + "    \"map_null_key_mod\":\"LITERAL\",\n"
+                + "    \"map_null_key_literal\":\"null\",\n"
+                + "    \"encode_decimal_as_plain_number\":true\n"
+                + "}";
+
+        equalObj1 = expectedObject;
+        equalObj2 = new DebeziumSerializationInfo("SQL", "LITERAL", "null", true);
+        unequalObj = new DebeziumSerializationInfo("SQL", "LITERAL", "null", false);
+
+    }
 }