yihua opened a new pull request, #815:
URL: https://github.com/apache/hudi-rs/pull/815

   ## Description
   
   closes #814
   
   A parquet log block reaches the merge in its file schema, and the drain 
reconcile refused the pairings Java repairs with `SchemaRepair`: tz-aware 
micros labelling millis values, and a plain long the table declares as a local 
timestamp. MOR reads with such log blocks failed with `reconcile: column 
'ts_millis' type Timestamp(us, "UTC") incompatible with target Timestamp(ms, 
"UTC")`.
   
   Reconcile now relabels exactly those leaf pairings, at any depth, keeping 
the stored i64, which matches the base file path and Java. Every other leaf 
difference is still refused. Because a PK-safe row filter pushed into such a 
block would be evaluated on the mislabelled values and drop matching rows 
before the merge, the decoder now withholds the row filter from a parquet block 
whose footer needs the repair against the table schema, and from every parquet 
block when the table schema is unknown, as the base file read already does for 
a mislabelled base file.
   
   ## How are the changes test-covered
   
   - [ ] N/A
   - [x] Automated tests (unit and/or integration tests)
   - [ ] Manual tests
     - [ ] Details are described below
   
   Unit tests cover the reconcile relabel for top-level, struct, list and map 
leaves (values, nulls and slice offsets preserved, and the pairings outside 
Java's repair still refused), the `schema_needs_logical_type_repair` gate, a 
parquet block decode showing the pushed predicate would drop a matching row and 
is withheld when the repair is needed or the table schema is absent, and that 
the log record reader hands the decoder the table schema rather than the 
required schema. `cargo test -p hudi-core --lib`, `cargo fmt --check` and 
`cargo clippy -D warnings` pass.
   


-- 
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