hadoop-hdfs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron T. Myers (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-4656) DN heartbeat loop can be briefly tight
Date Tue, 02 Apr 2013 00:03:15 GMT
Aaron T. Myers created HDFS-4656:
------------------------------------

             Summary: DN heartbeat loop can be briefly tight
                 Key: HDFS-4656
                 URL: https://issues.apache.org/jira/browse/HDFS-4656
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: datanode
    Affects Versions: 2.0.4-alpha
            Reporter: Aaron T. Myers
            Assignee: Aaron T. Myers
            Priority: Minor


The DN hearbeat loop looks roughly like this:

{code}
if (now - timeOfLastHeartbeat > configuredHeartbeatInterval) {
  // do heartbeat
}
timeToWait = configuredHeartbeatInterval - (now - timeOfLastHeartbeat)
sleep(timeToWait)
{code}

The trouble is that since we sleep for exactly the heartbeat interval, and then check to see
if we have waited _more_ than that heartbeat interval, we will very often have waited exactly
the heartbeat interval (in millis), and not more than it. In this case we will skip actually
performing the heartbeat and will calculcate timeToWait as being 0ms. The DN heartbeat loop
will then loop tightly for 1ms. The solution is just to change the "{{>}}" in the code
above to "{{>=}}".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message