The GitHub Actions job "Flink CDC CI" on 
flink-cdc.git/fix/timestamptz-iceberg-sink has failed.
Run started by GitHub user avichaym (triggered by yuxiqian).

Head commit for run:
23ca01d216e933cf88047212ccdaf992bfd40a17 / Avichay Marciano 
<[email protected]>
[FLINK-39415][postgres] Fix TIMESTAMPTZ type mapping in pipeline connector

Root cause: PostgresTypeUtils (pipeline connector) mapped TIMESTAMPTZ to
ZonedTimestampType (TIMESTAMP_WITH_TIME_ZONE), but the Debezium deserializer
only has a converter for TIMESTAMP_WITH_LOCAL_TIME_ZONE. This mismatch causes
the deserializer to produce LocalZonedTimestampData while BinaryWriter.write()
casts to ZonedTimestampData, resulting in binary data corruption and
NumberFormatException when the Iceberg sink reads the field via
BinaryRecordData.getZonedTimestamp().

The existing test PostgresFullTypesITCase already expects 
LocalZonedTimestampData
for TIMESTAMPTZ (line 1211: DataTypes.TIMESTAMP_LTZ(0)), confirming the correct
type mapping is TIMESTAMP_WITH_LOCAL_TIME_ZONE.

Changes:
- PostgresTypeUtils: TIMESTAMPTZ -> TIMESTAMP_LTZ(scale) (was 
ZonedTimestampType)
- DebeziumEventDeserializationSchema: add convertToZonedTimestamp() for future
  TIMESTAMP_WITH_TIME_ZONE support
- Add PostgresTypeUtilsTimestamptzTest: validates TIMESTAMPTZ maps to
  TIMESTAMP_WITH_LOCAL_TIME_ZONE type root
- Add IcebergTypeUtilsTest: validates TIMESTAMP_LTZ type conversion and
  field getter creation for Iceberg sink

Report URL: https://github.com/apache/flink-cdc/actions/runs/24183047641

With regards,
GitHub Actions via GitBox

Reply via email to