developer-rpai commented on PR #18542: URL: https://github.com/apache/iceberg/pull/18542#issuecomment-6284463395
You are right, and thanks for making me trace it properly. In DynamicRecordProcessor the IDs stored on the record are always computed by getEqualityFieldIds against the same schema object stored alongside them: the emit path uses the resolved table schema for both, and the update side-output path uses data.schema() for both. Within getEqualityFieldIds, the name branch resolves against that schema with its own checkNotNull, and the fallback copies that schema's own identifierFieldIds, so findColumnName cannot return null for any record the current code produces. The only way there would be a hand-built Schema whose identifierFieldIds reference missing fields, which is invalid input rather than a real code path. Consider the comment withdrawn; the checkNotNull in remapFieldIds earns its keep on the toSchema side, where a dropped field is a genuine case. -- 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]
