hutiefang76 opened a new pull request, #1389: URL: https://github.com/apache/arrow-java/pull/1389
## What's Changed After a child type is promoted, `syncSchema()` updates the schema but leaves the vector lookup keyed by the old `Field` values. Looking up a vector using the new schema returns null, and `JsonFileWriter` then throws a NullPointerException. Refresh the Field-keyed lookup in the schema-change branch, preserving vector identity and ordering. Add regressions using two rows of promoted nested-list data: direct lookup verifies the new Field, removal of the stale key, unchanged values and row count, and a second synchronization that makes no change. A real JSON write/read round trip verifies the schema and both nested row values. The unchanged implementation fails the lookup assertion and throws in the writer. Validation on JDK 21: - `mvn -B -ntp -Dmaven.gitcommitid.nativegit=true -pl vector -am verify` passed, including dependency modules. - The vector module ran 1193 cases in each of its two configured allocator executions, with 4 skipped per execution and no failures or errors. All 11 `TestVectorSchemaRoot` cases passed in each execution without skips. - Spotless and Checkstyle passed. The native Git option handles the existing Git plugin's local worktree compatibility; no build configuration was changed. Closes #390. Maintainer note: please add the `bug-fix` label; my account cannot add repository labels. Remote CI and maintainer review remain pending. <sub>AI-generated PR description. Investigation, implementation and automated review assisted by Codex and DeepSeek.</sub> -- 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]
