Hi devs,

I would like to initiate a discussion about FLIP-478: Introduce Config
Option Scope

Currently, Flink can be configured in various ways. Taking a session job as
an example:

1. When the session cluster starts, the JobManager (JM) and TaskManager
(TM) load the configuration files config.yaml from specified directory on
their respective machines, merging them with command line parameters (-D)
to form their component configuration.

2. When submitting a job, the client loads its local configuration file and
merges it with configuration within the job code and command line
parameters to obtain the job configuration.

When this job is submitted to the session cluster, the values of
cluster-level config options, such as the memory for JM and TM, will be
defined by the JM/TM configuration. And the values of job-level config
options, such as parallelism, will be defined by the job configuration.
Additionally, some config options will fall back to the values defined in
the configuration from JM/TM if their values are not defined in job
configuration, such as restart strategies.

However, it can be confusing for users to know where to set a config
option. For example, we've received several bug reports from users saying
that taskmanager.numberOfTaskSlots doesn’t take effect, which turned out to
be because they mistakenly configured it in the job code.

As a result, we intend to introduce the concept of Config Option Scope to
help users understand the proper way to configure each config option. And
the scopes should be displayed in Flink configuration documentation.

For more details, please refer to FLIP-478 [1]. Looking forward to your
feedback.

Best,

Junrui Lee

[1]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-478+Introduce+Config+Option+Scope

Reply via email to