[
https://issues.apache.org/jira/browse/FLINK-39209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18062700#comment-18062700
]
Cong Cheng commented on FLINK-39209:
------------------------------------
There would be a quick fix to register JavaTimeModule in ObjectMapper within
DorisEventSerializer, I would like to take it.
> 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.3.0, cdc-3.4.0, cdc-3.5.0
> Reporter: Cong Cheng
> Priority: Major
>
> 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)