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 "Chen Liang (JIRA)" <ji...@apache.org> on 2017/05/31 18:57:05 UTC

[jira] [Created] (HDFS-11907) NameNodeResourceChecker should avoid calling df.getAvailable too frequently

Chen Liang created HDFS-11907:
---------------------------------

             Summary: NameNodeResourceChecker should avoid calling df.getAvailable too frequently
                 Key: HDFS-11907
                 URL: https://issues.apache.org/jira/browse/HDFS-11907
             Project: Hadoop HDFS
          Issue Type: Improvement
            Reporter: Chen Liang
            Assignee: Chen Liang


Currently, {{HealthMonitor#doHealthChecks}} invokes {{NameNode#monitorHealth}} which ends up invoking {{NameNodeResourceChecker#isResourceAvailable}}, at the frequency of once per second by default. And NameNodeResourceChecker#isResourceAvailable invokes {{df.getAvailable();}} every time it is called. Which can be a potentially very expensive operation.

Since available space information should rarely be changing dramatically at the pace of per second. A cached value should be sufficient. i.e. only try to get the updated value when the cached value is too old. otherwise simply return the cached value. This way df.getAvailable() gets invoked less.

Thanks [~arpitagarwal] for the offline discussion.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org