rkhachatryan commented on code in PR #27070:
URL: https://github.com/apache/flink/pull/27070#discussion_r2447405721


##########
flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/api/config/ExecutionConfigOptions.java:
##########
@@ -159,6 +159,58 @@ public class ExecutionConfigOptions {
                                                     + "or force 
materialization(FORCE).")
                                     .build());
 
+    @Documentation.TableOption(execMode = Documentation.ExecMode.STREAMING)
+    public static final ConfigOption<Long>
+            TABLE_EXEC_SINK_UPSERT_MATERIALIZE_ADAPTIVE_THRESHOLD_LOW =
+                    
key("table.exec.sink.upsert-materialize-strategy.adaptive.threshold.low")
+                            .longType()
+                            .noDefaultValue()
+                            .withDescription(
+                                    Description.builder()
+                                            .text(
+                                                    "When using 
strategy=ADAPTIVE, defines the number of entries per key when the 
implementation is changed from MAP to VALUE. "
+                                                            + "If not 
specified, Flink uses state-backend specific defaults (300 for hashmap state 
backend and 40 for RocksDB and the rest).")
+                                            .linebreak()
+                                            .build());
+
+    @Documentation.TableOption(execMode = Documentation.ExecMode.STREAMING)
+    public static final ConfigOption<Long>
+            TABLE_EXEC_SINK_UPSERT_MATERIALIZE_ADAPTIVE_THRESHOLD_HIGH =
+                    
key("table.exec.sink.upsert-materialize-strategy.adaptive.threshold.high")
+                            .longType()
+                            .noDefaultValue()
+                            .withDescription(
+                                    Description.builder()
+                                            .text(
+                                                    "When using 
strategy=ADAPTIVE, defines the number of entries per key when the 
implementation is changed from VALUE to MAP. "
+                                                            + "If not 
specified, Flink uses state-backend specific defaults (400 for hashmap state 
backend and 50 for RocksDB and the rest).")
+                                            .linebreak()
+                                            .build());
+
+    @Documentation.TableOption(execMode = Documentation.ExecMode.STREAMING)
+    public static final ConfigOption<SinkUpsertMaterializeStrategy>
+            TABLE_EXEC_SINK_UPSERT_MATERIALIZE_STRATEGY =
+                    key("table.exec.sink.upsert-materialize-strategy.type")

Review Comment:
   > I think randomized values ​​are very valuable for finding potential bugs.
   
   Yes, I agree.
   
   > In other words, what is the difference between adding null value to 
compiled plans and do not add it?
   
   When `upsertMaterializeStrategy` is set to null, it's not written by json 
serializer to the compiled plan because of
   ```
   @JsonProperty(FIELD_NAME_UPSERT_MATERIALIZE_STRATEGY)
   @JsonInclude(JsonInclude.Include.NON_DEFAULT)
   private final SinkUpsertMaterializeStrategy upsertMaterializeStrategy;
   ```
   
   So it allows to stay compatible with older tests/runtime



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

Reply via email to