diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java index dfcceb8..d069c59 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/security/DelegationTokenRenewer.java @@ -742,7 +742,7 @@ public void run() { toCancel.clear(); while (it.hasNext()) { Entry e = it.next(); - if (e.getValue() < System.currentTimeMillis()) { + if (e.getValue() - System.currentTimeMillis() < 0) { toCancel.add(e.getKey()); } } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java index 5d31404..2cd1f16 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestDelegationTokenRenewer.java @@ -1022,4 +1022,18 @@ public void testAppSubmissionWithPreviousToken() throws Exception{ // app2 completes, app1 is still running, check the token is not cancelled Assert.assertFalse(Renewer.cancelled); } + + @Test + public void testCompareTime() { + long t1 = Long.MAX_VALUE; + long t2 = t1 + 100; + Assert.assertTrue(t1 - t2 < 0); + Assert.assertFalse(t1 < t2); + + Assert.assertTrue(Long.valueOf(t1) - t2 < 0); + Assert.assertFalse(Long.valueOf(t1) < t2); + + Assert.assertTrue(Long.valueOf(t1) - Long.valueOf(t2) < 0); + Assert.assertFalse(Long.valueOf(t1) < Long.valueOf(t2)); + } }