diff --git a/changelog.html b/changelog.html
index 7b9e2a7555dbcbdcf62aa4460d34b89798f7acf4..a766df6e1c70b9870cb5b283903be8a45611e508 100644
--- a/changelog.html
+++ b/changelog.html
@@ -55,6 +55,9 @@ Upcoming changes
+ -
+ Clock Difference broken on Manage Nodes page
+ (issue 18671)
-
Fixed another possible cause of an NPE from MatrixConfiguration.newBuild.
(issue 17728)
diff --git a/core/src/main/java/hudson/model/Slave.java b/core/src/main/java/hudson/model/Slave.java
index fe06eb58070849796479e959e810cdcedc2382c7..bd0897ef21637d7ffe00cb8e87d616bccbc28a28 100644
--- a/core/src/main/java/hudson/model/Slave.java
+++ b/core/src/main/java/hudson/model/Slave.java
@@ -457,7 +457,7 @@ public abstract class Slave extends Node implements Serializable {
* Capture the time on the master when this object is sent to remote, which is when
* {@link GetClockDifference1#writeReplace()} is run.
*/
- private final long startTime = System.nanoTime();
+ private final long startTime = System.currentTimeMillis();
public GetClockDifference3 call() {
return new GetClockDifference3(startTime);
@@ -467,7 +467,7 @@ public abstract class Slave extends Node implements Serializable {
}
private static final class GetClockDifference3 implements Serializable {
- private final long remoteTime = System.nanoTime();
+ private final long remoteTime = System.currentTimeMillis();
private final long startTime;
public GetClockDifference3(long startTime) {
@@ -475,8 +475,8 @@ public abstract class Slave extends Node implements Serializable {
}
private Object readResolve() {
- long endTime = System.nanoTime();
- return new ClockDifference(TimeUnit2.NANOSECONDS.toMillis((startTime + endTime)/2-remoteTime));
+ long endTime = System.currentTimeMillis();
+ return new ClockDifference((startTime + endTime)/2-remoteTime);
}
}