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]

Reply via email to