You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@flink.apache.org by GitBox <gi...@apache.org> on 2026/09/08 11:33:03 UTC

[GH] (flink-cdc/FLINK-40594): Workflow run "Flink CDC CI" failed!

The GitHub Actions job "Flink CDC CI" on flink-cdc.git/FLINK-40594 has failed.
Run started by GitHub user tchivs (triggered by yuxiqian).

Head commit for run:
b570f29a21939b4eab92d8635baea00bb73175d9 / tchivs <to...@live.cn>
[FLINK-40594][cdc-common] Preserve TIME precision in the pipeline runtime

TimeType accepts a precision of up to 9 and the Debezium deserializer already
produces microsecond and nanosecond values, but the runtime stored TIME as
millisecond-of-day. Every TIME(p) with p > 3 was silently truncated, and two
values differing only below the millisecond compared equal, collapsing them
during deduplication, ordering and key comparison.

TimeData now keeps nanosecond-of-day and exposes toMicroOfDay/toNanoOfDay;
toMillisOfDay keeps its signature and truncating behaviour. TimeDataSerializer
becomes precision-aware like TimestampDataSerializer: precision <= 3 keeps the
historical four-byte millisecond encoding and stays compatible as is, while
precision > 3 uses an eight-byte nanosecond encoding reached through a versioned
snapshot that reports compatible-after-migration and still reads the legacy
snapshot envelope and four-byte payload. The binary writers/readers and
InternalSerializers thread the declared precision through.

Two existing expectations pinned the truncation and are corrected rather than
relaxed: the TIME(6)/TIME(9) transform expectation now asserts the retained
fraction, and the temporal-function check compares LOCALTIME at whole-second
granularity because LOCALTIME and CURRENT_TIME are TIME(0).

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

With regards,
GitHub Actions via GitBox