[
https://issues.apache.org/jira/browse/FLINK-35567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hongshun Wang updated FLINK-35567:
----------------------------------
Fix Version/s: cdc-3.2.0
(was: cdc-3.1.1)
> CDC BinaryWriter cast NullableSerializerWrapper error
> ------------------------------------------------------
>
> Key: FLINK-35567
> URL: https://issues.apache.org/jira/browse/FLINK-35567
> Project: Flink
> Issue Type: Bug
> Components: Flink CDC
> Affects Versions: cdc-3.1.1
> Reporter: Hongshun Wang
> Priority: Major
> Fix For: cdc-3.2.0
>
>
> Current, we will generate data type serializers by
> org.apache.flink.cdc.runtime.typeutils.BinaryRecordDataGenerator#BinaryRecordDataGenerator(org.apache.flink.cdc.common.types.DataType[]),
> which will put into a
> NullableSerializerWrapper.
> {code:java}
> //代码占位符
> public BinaryRecordDataGenerator(DataType[] dataTypes) {
> this(
> dataTypes,
> Arrays.stream(dataTypes)
> .map(InternalSerializers::create)
> .map(NullableSerializerWrapper::new)
> .toArray(TypeSerializer[]::new));
> } {code}
> However, when use in BinaryWriter#write, if type is ARRAY/MAP/ROW, will cast
> NullableSerializerWrapper to
> ArrayDataSerializer/TypeSerializer<MapData>/TypeSerializer<RecordData>.
> A exception will be thrown:
> {code:java}
> java.lang.ClassCastException:
> org.apache.flink.cdc.runtime.serializer.NullableSerializerWrapper cannot be
> cast to org.apache.flink.cdc.runtime.serializer.data.ArrayDataSerializer
> at
> org.apache.flink.cdc.runtime.serializer.data.writer.BinaryWriter.write(BinaryWriter.java:134)
> at
> org.apache.flink.cdc.runtime.typeutils.BinaryRecordDataGenerator.generate(BinaryRecordDataGenerator.java:89)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)