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