danny0405 opened a new pull request, #20492:
URL: https://github.com/apache/hudi/pull/20492

   ### Describe the issue this Pull Request addresses
   
   Completes the Phase 2 A2 subset of #20371, tracked in #20401. SDP reconciles 
its business schema on every materialized-view refresh and asks the catalog to 
delete Hudi's metadata columns. The current column-change match throws 
MatchError for these deletes and other unsupported column changes.
   
   ### Summary and Changelog
   
   - Ignore DeleteColumn requests for the five top-level Hudi metadata columns, 
preserving the stored schema.
   - Validate unsupported changes before applying any supported schema change 
in the same request, and report UnsupportedOperationException with the change 
class.
   - Preserve existing add/type/comment handling and property reconciliation.
   - Add regression coverage for three repeated reconciliations, unchanged 
properties, user-column deletion, unknown prefixed columns, nested 
metadata-like names, rename, nullability and position changes. Rejected mixed 
requests leave the schema unchanged.
   
   Validation: Spark 4.1 / Scala 2.13 / JDK 17 reactor package and install 
passed. `TestHoodieCatalogDDL`: 10 tests passed, 0 failures. `git diff --check` 
and the repository PR compliance validator passed. No code was copied from 
another project.
   
   ### Impact
   
   Repairs the V2 catalog reconciliation path used by SDP; no new 
configuration, storage format or public API. Unsupported changes fail clearly 
instead of with MatchError. Only recognized top-level metadata columns are 
ignored, not arbitrary names beginning with `_hoodie_`.
   
   ### Risk Level
   
   low. The no-op is narrowly scoped and the regression suite verifies schema 
preservation and rejection before supported changes are applied. This does not 
add general atomicity across otherwise supported DDL operations.
   
   ### Documentation Update
   
   none. This fixes existing catalog APIs without adding configuration or 
declaring end-to-end MV support. The repeated-refresh acceptance task #20405 
remains separate.
   
   ### Contributor's checklist
   
   - [x] Read through [contributor's 
guide](https://hudi.apache.org/contribute/how-to-contribute)
   - [x] Enough context is provided in the sections above
   - [x] Adequate tests were added if applicable
   


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