HDFS-6461. Use Time#monotonicNow to compute duration in DataNode#shutDown. Contributed by James Thomas.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1598399 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew Wang 2014-05-29 21:01:55 +00:00
parent 4a4868e523
commit 1d5e564998
2 changed files with 7 additions and 3 deletions

View File

@ -607,6 +607,9 @@ Release 2.5.0 - UNRELEASED
HDFS-6453. Use Time#monotonicNow to avoid system clock reset.
(Liang Xie via wang)
HDFS-6461. Use Time#monotonicNow to compute duration in DataNode#shutDown.
(James Thomas via wang)
Release 2.4.1 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -1221,7 +1221,7 @@ public class DataNode extends Configured
}
// Record the time of initial notification
long timeNotified = Time.now();
long timeNotified = Time.monotonicNow();
if (localDataXceiverServer != null) {
((DataXceiverServer) this.localDataXceiverServer.getRunnable()).kill();
@ -1253,8 +1253,9 @@ public class DataNode extends Configured
while (true) {
// When shutting down for restart, wait 2.5 seconds before forcing
// termination of receiver threads.
if (!this.shutdownForUpgrade ||
(this.shutdownForUpgrade && (Time.now() - timeNotified > 2500))) {
if (!this.shutdownForUpgrade ||
(this.shutdownForUpgrade && (Time.monotonicNow() - timeNotified
> 2500))) {
this.threadGroup.interrupt();
}
LOG.info("Waiting for threadgroup to exit, active threads is " +