You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by rg...@apache.org on 2015/12/09 05:10:37 UTC

svn commit: r1718761 - in /zookeeper/branches/branch-3.4: CHANGES.txt src/java/main/org/apache/zookeeper/Login.java

Author: rgs
Date: Wed Dec  9 04:10:37 2015
New Revision: 1718761

URL: http://svn.apache.org/viewvc?rev=1718761&view=rev
Log:
ZOOKEEPER-2295: TGT refresh time logic is wrong
(Arshad Mohammad via rgs)

Modified:
    zookeeper/branches/branch-3.4/CHANGES.txt
    zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/Login.java

Modified: zookeeper/branches/branch-3.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1718761&r1=1718760&r2=1718761&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/CHANGES.txt (original)
+++ zookeeper/branches/branch-3.4/CHANGES.txt Wed Dec  9 04:10:37 2015
@@ -11,6 +11,9 @@ BUGFIXES:
   ZOOKEEPER-2311: assert in setup_random
   (Marshall McMullen via rgs)
 
+  ZOOKEEPER-2295: TGT refresh time logic is wrong
+  (Arshad Mohammad via rgs)
+
 Release 3.4.7 - 2015-11-08
 
 Backward compatible changes:

Modified: zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/Login.java
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/Login.java?rev=1718761&r1=1718760&r2=1718761&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/Login.java (original)
+++ zookeeper/branches/branch-3.4/src/java/main/org/apache/zookeeper/Login.java Wed Dec  9 04:10:37 2015
@@ -155,7 +155,6 @@ public class Login {
                         if ((nextRefresh > expiry) ||
                                 ((now + MIN_TIME_BEFORE_RELOGIN) > expiry)) {
                             // expiry is before next scheduled refresh).
-                            LOG.info("refreshing now because expiry is before next scheduled refresh time.");
                             nextRefresh = now;
                         } else {
                             if (nextRefresh < (now + MIN_TIME_BEFORE_RELOGIN)) {
@@ -176,7 +175,9 @@ public class Login {
                             return;
                         }
                     }
-                    if (now < nextRefresh) {
+                    if (now == nextRefresh) {
+                        LOG.info("refreshing now because expiry is before next scheduled refresh time.");
+                    } else if (now < nextRefresh) {
                         Date until = new Date(nextRefresh);
                         LOG.info("TGT refresh sleeping until: " + until.toString());
                         try {
@@ -191,7 +192,7 @@ public class Login {
                                 + " clock sync between this host and KDC - (KDC's clock is likely ahead of this host)."
                                 + " Manual intervention will be required for this client to successfully authenticate."
                                 + " Exiting refresh thread.");
-                        return;
+                        break;
                     }
                     if (isUsingTicketCache) {
                         String cmd = "/usr/bin/kinit";