[ 
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)

Reply via email to