moggaa commented on code in PR #17653:
URL: https://github.com/apache/iceberg/pull/17653#discussion_r4121985989


##########
kafka-connect/kafka-connect/src/main/java/org/apache/iceberg/connect/IcebergSinkConfig.java:
##########
@@ -179,6 +181,12 @@ private static ConfigDef newConfigDef() {
         false,
         Importance.MEDIUM,
         "Set to true to add any missing record fields to the table schema, 
false otherwise");
+    configDef.define(
+        TABLES_REPLACE_NULL_WITH_DEFAULT_PROP,
+        ConfigDef.Type.BOOLEAN,
+        true,

Review Comment:
   Agreed — keeping `true` is a deliberate choice, not an omission. The 
deciding factor for me is upgrade safety: with `false` as the default, an 
existing pipeline would change its written data on upgrade (defaults become 
nulls), and in the auto-created-table + CDC case it could start failing 
outright on required columns. That feels like opt-in territory. So `true` 
preserves everyone's current behavior, `false` is a documented opt-in, and the 
docs now call out the tradeoff and the required-column failure mode explicitly. 
If the project ever wants `false` as the default, a major release seems like 
the natural point to flip it.
   



-- 
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]

Reply via email to