You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Andy Isaacson (JIRA)" <ji...@apache.org> on 2012/05/31 20:41:22 UTC
[jira] [Created] (HDFS-3485) DataTransferThrottler will
over-throttle when currentTimeMillis jumps
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