linliu-code commented on PR #19110: URL: https://github.com/apache/hudi/pull/19110#issuecomment-5026474095
FYI / traceability (non-blocking): these Debezium CDC tables carry a **value-level partial-update mode** — `handlePartialUpdateModeConfigs` maps `PostgresDebeziumAvroPayload → PartialUpdateMode.FILL_UNAVAILABLE` (the TOAST unavailable-value back-fill). That means a **schema-partial** writer on the same table (e.g. a Spark `MERGE INTO` with a partial `UPDATE SET`) would emit an `IS_PARTIAL` log block, flip the reader to the `KEEP_VALUES` merger, and silently drop the configured mode for the whole file group → data corruption. Flagging for traceability that this cross-writer risk is already **guarded in the stacked #19322**: `CommonClientUtils.validateTableVersion` now rejects `shouldWritePartialUpdates() && getPartialUpdateMode().isPresent()` up front (covering `FILL_UNAVAILABLE` / `FILL_UNCHANGED` / `IGNORE_DEFAULTS`), so it retroactively covers the Postgres path wired here too — no action needed on this PR. Noting it so the guard's coverage of the Postgres `FILL_UNAVAILABLE` path is discoverable from this PR. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
