hutiefang76 opened a new pull request, #4427: URL: https://github.com/apache/amoro/pull/4427
## Why are the changes needed? HiveSchemaUtil.changeFieldNameToLowercase uses one collision set for the entire schema. A valid schema with col1.X and col2.X throws an IllegalArgumentException although the fields belong to different structs. Struct fields nested inside lists/maps are also left unchanged. Closes #4425. ## Brief change log Keep collision detection within each struct and visit list elements and map keys/values, retaining IDs, docs and requiredness. Same-struct collisions still fail. ## How was this patch tested? - [x] Added positive and negative regression tests. - [x] Ran the affected tests locally. JDK 17: TestHiveSchemaUtil, 5 tests passed. The same tests against the original implementation produced 1 failure and 2 errors. Root ./mvnw -q -Pskip-dashboard-build validate passed. ```shell ./mvnw -q -Pskip-dashboard-build -pl amoro-format-mixed/amoro-mixed-hive -am -Dtest=TestHiveSchemaUtil -Dsurefire.failIfNoSpecifiedTests=false test ``` ## Documentation No new feature or configuration. Existing conversion behavior is corrected. AI assistance: implementation and initial review used DeepSeek; Codex coordinated final review and local verification. -- 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]
