moggaa commented on code in PR #17653: URL: https://github.com/apache/iceberg/pull/17653#discussion_r4241812735
########## docs/docs/kafka-connect.md: ########## @@ -94,6 +95,19 @@ If `iceberg.tables.dynamic-enabled` is `false` (the default) then you must speci `iceberg.tables.dynamic-enabled` is `true` then you must specify `iceberg.tables.route-field` which will contain the name of the table. +When `iceberg.tables.replace-null-with-default` is set to `false`, an explicit null value in a +record is written to the table as null instead of being replaced by the record schema default +value. This applies to value conversion and to route-field extraction: a record whose route field +is explicitly null is skipped, like any other record with a null route value. A required Iceberg column cannot take an explicit null under this setting and the write +fails, so set `iceberg.tables.schema-force-optional` to `true` (or alter the columns to optional) Review Comment: An equality delete can't actually be produced by the sink today: the only task writers are `UnpartitionedWriter`/`PartitionedAppendWriter`, so the equality field ids set on the writer factory never reach a delete writer and the workers only ever emit data files (the coordinator does have a `RowDelta` commit branch, but nothing ever hands it a delete file). Delta writer / upsert support is tracked in #10842 — I think this note belongs there when that lands. -- 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]
