hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-3485) DataTransferThrottler will over-throttle when currentTimeMillis jumps
Date Thu, 07 Jun 2012 19:37:23 GMT

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

Hudson commented on HDFS-3485:
------------------------------

Integrated in Hadoop-Common-trunk-Commit #2331 (See [https://builds.apache.org/job/Hadoop-Common-trunk-Commit/2331/])
    HDFS-3485. DataTransferThrottler will over-throttle when currentTimeMillis jumps. Contributed
by Andy Isaacson. (Revision 1347751)

     Result = SUCCESS
todd : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1347751
Files : 
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Util.java
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/util/DataTransferThrottler.java
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestBlockReplacement.java

                
> DataTransferThrottler will over-throttle when currentTimeMillis jumps
> ---------------------------------------------------------------------
>
>                 Key: HDFS-3485
>                 URL: https://issues.apache.org/jira/browse/HDFS-3485
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha
>            Reporter: Andy Isaacson
>            Assignee: Andy Isaacson
>            Priority: Minor
>             Fix For: 2.0.1-alpha
>
>         Attachments: hdfs-3485-2.patch, hdfs-3485.1.patch, hdfs-3485.patch
>
>
> When the system clock is set backwards, DataTransferThrottler will simply pause until
the clock reaches the end of the previously calculated transfer period:
> {code}
>     this.curPeriodStart = System.currentTimeMillis();
> ...
>     while (curReserve <= 0) {
>       long now = System.currentTimeMillis();
>       long curPeriodEnd = curPeriodStart + period;
>       if ( now < curPeriodEnd ) {
>         try {
>           wait( curPeriodEnd - now );
> {code}
> Instead of using currentTimeMillis() which is affected by system-clock-changes, this
code should use nanoTime which ticks forward monotonically.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message