You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Marios Trivyzas (Jira)" <ji...@apache.org> on 2022/04/07 15:38:00 UTC

[jira] [Assigned] (FLINK-16835) Replace TableConfig with Configuration

     [ https://issues.apache.org/jira/browse/FLINK-16835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marios Trivyzas reassigned FLINK-16835:
---------------------------------------

    Assignee: Marios Trivyzas

> Replace TableConfig with Configuration
> --------------------------------------
>
>                 Key: FLINK-16835
>                 URL: https://issues.apache.org/jira/browse/FLINK-16835
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / API
>            Reporter: Timo Walther
>            Assignee: Marios Trivyzas
>            Priority: Minor
>              Labels: auto-deprioritized-major
>
> In order to allow reading and writing of configuration from a file or string-based properties. We should consider removing {{TableConfig}} and fully rely on a Configuration-based object with {{ConfigOptions}}.
> This effort was partially already started which is why {{TableConfig.getConfiguration}} exists.
> However, we should clarify if we would like to have control and traceability over layered configurations such as {{flink-conf,yaml < StreamExecutionEnvironment < TableEnvironment < Query}}. Maybe the {{Configuration}} class is not the right abstraction for this. 
> [~jark], [~twalthr], and [~fhueske] discussed the configuration options (see comments below) and concluded with the following design:
> {code:java}
>   public static final ConfigOption<Duration> IDLE_STATE_RETENTION =
>       key("table.exec.state.ttl")
>           .durationType()
>           .defaultValue(Duration.ofMillis(0));
>   public static final ConfigOption<Integer> MAX_LENGTH_GENERATED_CODE =
>       key("table.generated-code.max-length")
>           .intType()
>           .defaultValue(64000);
>   public static final ConfigOption<String> LOCAL_TIME_ZONE =
>       key("table.local-time-zone")
>           .stringType()
>           .defaultValue(ZoneId.systemDefault().toString());
> {code}
> *Note*: The following {{TableConfig}} options are not preserved:
> * {{nullCheck}}: Flink will automatically enable null checks based on the table schema ({{NOT NULL}} property)
> * {{decimalContext}}: this configuration is only used by the legacy planner which will be removed in one of the next releases
> * {{maxIdleStateRetention}}: is automatically derived as 1.5* {{idleStateRetention}} until StateTtlConfig is fully supported (at which point only a single parameter is required).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)