kumarpritam863 opened a new pull request, #18893: URL: https://github.com/apache/iceberg/pull/18893
`PartitionSpecEvolution` threw a `NullPointerException` when comparing an input spec against a historical table spec whose source column had since been dropped, which restarts the job in a loop for every same-sized spec lookup. With `case-sensitive=false`, schema matching ignored case but spec matching did not, so `TableUpdater` tried to evolve `day(ts)` into `day(TS)` and failed with `Cannot find field 'TS'`. A spec field without a source column is now incompatible, and `caseSensitive` is passed to the spec comparison and to `updateSpec()`. This is Flink 2.3 only; backports follow. Test plan: `TestPartitionSpecEvolution` covers a dropped source column and the case-insensitive comparison and evolution, and `TestTableUpdater` covers case-insensitive updates that reuse and evolve a spec and an update against a dropped-column historical spec. Six of the seven new tests fail without the change, and the seventh guards the case-sensitive default. The `sink.dynamic` tests pass. --- **AI Disclosure** - Model: Claude Sonnet 5.5 - Platform/Tool: Claude Code -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
