You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chesnay Schepler (JIRA)" <ji...@apache.org> on 2019/07/25 11:15:00 UTC

[jira] [Commented] (FLINK-13406) MetricConfig.getInteger() always returns null

    [ https://issues.apache.org/jira/browse/FLINK-13406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16892654#comment-16892654 ] 

Chesnay Schepler commented on FLINK-13406:
------------------------------------------

This isn't quite incorrect. The {{MetricConfig}} primarily provides access to what is configured in the {{flink-conf.yaml}}, which is read in a way such that all values _are_ strings, and as such {{MetricConfig#getInteger}} does work.

> MetricConfig.getInteger() always returns null
> ---------------------------------------------
>
>                 Key: FLINK-13406
>                 URL: https://issues.apache.org/jira/browse/FLINK-13406
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Metrics
>    Affects Versions: 1.6.3
>            Reporter: Ori Popowski
>            Priority: Major
>
> {{MetricConfig}}'s {{getInteger}} will always return the default value.
> The reason is, since it delegates to Java's {{Properties.getProperty}} which returns null if the type of the value is not {{String}}.
> h3. Reproduce
>  # Create a class {{MyReporter}} implementing {{MetricReporter}}
>  # Implment the {{open()}} method so that you do {{config.getInteger("foo", null)}}
>  # Start an {{ExecutionEnvironment}} with and give it the following Configuration object:
> {code:java}
> configuration.setString("metrics.reporters", "my");
> configuration.setClass("metrics.reporter.my.class", MyReporter.class)
> configuration.setInteger("metrics.reporter.my.foo", 42);{code}
>  # In {{open()}} the value of {{foo}} is null.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)