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: [email protected]
For additional commands, e-mail: [email protected]