You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dawid Wysakowicz (Jira)" <ji...@apache.org> on 2019/11/14 12:44:00 UTC
[jira] [Updated] (FLINK-14748) Migrate duration and memory size
related ConfigOptions to typed options
[ https://issues.apache.org/jira/browse/FLINK-14748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dawid Wysakowicz updated FLINK-14748:
-------------------------------------
Description:
The goal of this task is to migrate ConfigOptions that describe intervals or memory sizes to the typed ConfigOptions. We should also regenerate the documentation after migrating.
Example:
{code}
public static final ConfigOption<String> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
.key("restart-strategy.failure-rate.delay")
.defaultValue("1 s")
.withDescription(...);
{code}
should become
{code}
public static final ConfigOption<Duration> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
.key("restart-strategy.failure-rate.delay")
.durationType()
.defaultValue(Duration.ofSeconds(1))
.withDescription(...);
{code}
We should also migrate other types whenever possible.
For example we should migrate:
{code}
public static final ConfigOption<Integer> CONNECT_TIMEOUT =
key("blob.client.connect.timeout")
.defaultValue(0)
.withDescription("The connection timeout in milliseconds for the blob client.");
{code}
but we should not migrate, because it is expressed in seconds which is not the default unit:
{code}
public static final ConfigOption<Long> CLEANUP_INTERVAL =
key("blob.service.cleanup.interval")
.defaultValue(3_600L) // once per hour
.withDeprecatedKeys("library-cache-manager.cleanup.interval")
.withDescription("Cleanup interval of the blob caches at the task managers (in seconds).");
{code}
*NOTE:* We should retain and deprecate the existing fields and add new options with the intended type as they are all annotated with {{@PublicEvolving}}.
was:
The goal of this task is to migrate ConfigOptions that describe intervals or memory sizes to the typed ConfigOptions. We should also regenerate the documentation after migrating.
Example:
{code}
public static final ConfigOption<String> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
.key("restart-strategy.failure-rate.delay")
.defaultValue("1 s")
.withDescription(...);
{code}
should become
{code}
public static final ConfigOption<Duration> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
.key("restart-strategy.failure-rate.delay")
.durationType()
.defaultValue(Duration.ofSeconds(1))
.withDescription(...);
{code}
We should also migrate other types whenever possible.
For example we should migrate:
{code}
public static final ConfigOption<Integer> CONNECT_TIMEOUT =
key("blob.client.connect.timeout")
.defaultValue(0)
.withDescription("The connection timeout in milliseconds for the blob client.");
{code}
but we should not migrate, because it is expressed in seconds which is not the default unit:
{code}
public static final ConfigOption<Long> CLEANUP_INTERVAL =
key("blob.service.cleanup.interval")
.defaultValue(3_600L) // once per hour
.withDeprecatedKeys("library-cache-manager.cleanup.interval")
.withDescription("Cleanup interval of the blob caches at the task managers (in seconds).");
{code}
> Migrate duration and memory size related ConfigOptions to typed options
> -----------------------------------------------------------------------
>
> Key: FLINK-14748
> URL: https://issues.apache.org/jira/browse/FLINK-14748
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Configuration
> Reporter: Dawid Wysakowicz
> Priority: Major
>
> The goal of this task is to migrate ConfigOptions that describe intervals or memory sizes to the typed ConfigOptions. We should also regenerate the documentation after migrating.
> Example:
> {code}
> public static final ConfigOption<String> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
> .key("restart-strategy.failure-rate.delay")
> .defaultValue("1 s")
> .withDescription(...);
> {code}
> should become
> {code}
> public static final ConfigOption<Duration> RESTART_STRATEGY_FAILURE_RATE_DELAY = ConfigOptions
> .key("restart-strategy.failure-rate.delay")
> .durationType()
> .defaultValue(Duration.ofSeconds(1))
> .withDescription(...);
> {code}
> We should also migrate other types whenever possible.
> For example we should migrate:
> {code}
> public static final ConfigOption<Integer> CONNECT_TIMEOUT =
> key("blob.client.connect.timeout")
> .defaultValue(0)
> .withDescription("The connection timeout in milliseconds for the blob client.");
> {code}
> but we should not migrate, because it is expressed in seconds which is not the default unit:
> {code}
> public static final ConfigOption<Long> CLEANUP_INTERVAL =
> key("blob.service.cleanup.interval")
> .defaultValue(3_600L) // once per hour
> .withDeprecatedKeys("library-cache-manager.cleanup.interval")
> .withDescription("Cleanup interval of the blob caches at the task managers (in seconds).");
> {code}
> *NOTE:* We should retain and deprecate the existing fields and add new options with the intended type as they are all annotated with {{@PublicEvolving}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)