hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11182) GraphiteSink emits wrong timestamps
Date Fri, 17 Oct 2014 00:03:13 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-11182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174501#comment-14174501

Hudson commented on HADOOP-11182:

FAILURE: Integrated in Hadoop-trunk-Commit #6275 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/6275/])
HADOOP-11182. GraphiteSink emits wrong timestamps (Sascha Coenen via raviprak) Fix CHANGES.txt
(raviprak: rev b0d6ac92fe1f51cf9742abab778200d2d0eb99fa)
* hadoop-common-project/hadoop-common/CHANGES.txt

> GraphiteSink emits wrong timestamps
> -----------------------------------
>                 Key: HADOOP-11182
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11182
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.5.0, 2.5.1
>            Reporter: Sascha Coenen
>             Fix For: 2.6.0
>         Attachments: HADOOP-11182-GraphiteSink-v1.patch, HADOOP-11182-v2.patch, HADOOP-11182-v3.patch,
> the org.apache.hadoop.metrics2.sink.GraphiteSink class emits metrics at the configured
time period, but the timestamps written only change every 128 seconds, even it the configured
time period in the configuration file is much shorter.
> This is due to a bug in line 93:
> {code:java}
> 092            // Round the timestamp to second as Graphite accepts it in such format.
> 093            int timestamp = Math.round(record.timestamp() / 1000.0f);
> {code}
> The timestamp property is a long and is divided by a float which yields a result that
is not precise enough and yields same valued results for timestamps that lie up to 128 seconds
apart. Also, the result is then written into an int variable.
> One solution would be to divide by 1000.0d, but the best fix would be to not even convert
to a decimal format in the first place. Instead one could replace the line with the following:
> {code:java}
>    long timestamp = record.timestamp() / 1000L;
> {code}

This message was sent by Atlassian JIRA

View raw message