mxm commented on PR #26100: URL: https://github.com/apache/flink/pull/26100#issuecomment-2640592983
I think there are different concerns here: (a) data integrity and (b) data semantics. (a) The value of a field should always return its correct value. That's why the Flink runtime always check `isNullAt` before attempting to read. In Iceberg, we don't always do that because we rely on the FieldGetters for which this change is intended. If a field is null, it should read null. If a field is 42, it should read 42, but it shouldn't return 42 if its value is null. Unfortunately, this can happen without a null check when reading from BinaryRowData. (b) It is a separate concern, whether or not to allow null values for nonNull types. This needs to be enforced by the layer which initializes the RowData. Does that make sense? -- 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]
