Cong Cheng created FLINK-39209:
----------------------------------
Summary: Flink cdc doris connector throw exception when
serializing temporal related type (time/date/timestamp etc.) columns
Key: FLINK-39209
URL: https://issues.apache.org/jira/browse/FLINK-39209
Project: Flink
Issue Type: Bug
Components: Flink CDC
Affects Versions: cdc-3.5.0, cdc-3.4.0, cdc-3.3.0
Reporter: Cong Cheng
When sinking data to Doris using the Flink CDC Pipeline connector, the
DorisEventSerializer converts Flink internal data types to Java 8 time types
(such as java.time.ZonedDateTime , java.time.LocalTime , etc.).
However, in DorisEventSerializer , the ObjectMapper is initialized with default
settings and lacks the JavaTimeModule . When
objectMapper.writeValueAsString(valueMap) is called to serialize these time
objects, it throws an exception.
The error log is something similar to:
{noformat}
Caused by:
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
Java 8 date/time type `java.time.LocalTime` not supported by default: add
Module
"org.apache.flink.shaded.jackson2.com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
to enable handling (through reference chain: java.util.HashMap["start_time"])
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1276)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:808)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:764)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:720)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:35)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4487)
at
org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3742)
at
org.apache.flink.cdc.connectors.doris.sink.DorisEventSerializer.applyDataChangeEvent(DorisEventSerializer.java:159)
at
org.apache.flink.cdc.connectors.doris.sink.DorisEventSerializer.serialize(DorisEventSerializer.java:92)
at
org.apache.flink.cdc.connectors.doris.sink.DorisEventSerializer.serialize(DorisEventSerializer.java:59)
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)