kinolaev opened a new pull request, #18507: URL: https://github.com/apache/iceberg/pull/18507
With `immediateTableUpdate=false`, records needing a table update get equality field IDs resolved against the `DynamicRecord` schema. `DynamicTableUpdateOperator` then switches the record to the table schema but keeps those IDs. When the two schemas number fields differently, the writer either fails with `Cannot write a schema with an empty group` or silently uses the wrong columns as the equality key. The operator now remaps equality field IDs by column name onto the table schema, honoring case sensitivity. Test plan: an input schema whose field IDs overlap the table's but map to different columns; assert each output equality ID names the same column in the output schema as in the input schema. Fails without the fix. --- **AI Disclosure** - Model: Claude Opus 5.5 - Platform/Tool: Claude Code - Human Oversight: fully reviewed - Prompt Summary: Diagnose a Flink dynamic sink failure from a production log and fix equality field ID resolution after table schema updates. -- 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]
