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