hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Isaacson (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-3485) DataTransferThrottler will over-throttle when currentTimeMillis jumps
Date Thu, 31 May 2012 18:41:22 GMT
Andy Isaacson created HDFS-3485:

             Summary: 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

When the system clock is set backwards, DataTransferThrottler will simply pause until the
clock reaches the end of the previously calculated transfer period:
    this.curPeriodStart = System.currentTimeMillis();
    while (curReserve <= 0) {
      long now = System.currentTimeMillis();
      long curPeriodEnd = curPeriodStart + period;
      if ( now < curPeriodEnd ) {
        try {
          wait( curPeriodEnd - now );

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


View raw message