liuguanghua created HDFS-17309:
----------------------------------

             Summary: Fix Router Safemode check contidition error
                 Key: HDFS-17309
                 URL: https://issues.apache.org/jira/browse/HDFS-17309
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: liuguanghua


With HDFS-17116, Router safemode check contidition use monotonicNow(). 

For code in  RouterSafemodeService.periodicInvoke()

long now = monotonicNow();

long cacheUpdateTime = stateStore.getCacheUpdateTime();
boolean isCacheStale = (now - cacheUpdateTime) > this.staleInterval;

 

Function monotonicNow() is implemented with System.nanoTime(). 

System.nanoTime() in javadoc description:

This method can only be used to measure elapsed time and is not related to any 
other notion of system or wall-clock time. The value returned represents 
nanoseconds since some fixed but arbitrary origin time (perhaps in the future, 
so values may be negative). 

 

The following situation maybe exists :

If refreshCaches not success in the beginning, cacheUpdateTime will be 0 , and 
now - cacheUpdateTime is arbitrary origin time,so isCacheStale maybe  be true 
or false. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to