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]
