[
https://issues.apache.org/jira/browse/ZOOKEEPER-2295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15046404#comment-15046404
]
Raul Gutierrez Segales commented on ZOOKEEPER-2295:
---------------------------------------------------
Thanks for the patch! I think the code becomes a bit easier to read if you move
the LOG.info statement from line 158 to have:
{code}
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 {
Thread.sleep(nextRefresh - now);
} catch (InterruptedException ie) {
LOG.warn("TGT renewal thread has been interrupted and will exit.");
break;
}
} else {
LOG.error("nextRefresh:{} is in the past: exiting refresh thread. Check"
+ " 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.", nextRefreshDate);
break;
}
{code}
I think it makes the intent a bit more clear. Also note the use of break
instead of return in the else block, for consistency.
What do you think [~arshad.mohammad]?
> TGT refresh time logic is wrong
> -------------------------------
>
> Key: ZOOKEEPER-2295
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2295
> Project: ZooKeeper
> Issue Type: Bug
> Affects Versions: 3.4.7, 3.5.1
> Reporter: Arshad Mohammad
> Assignee: Arshad Mohammad
> Fix For: 3.4.8, 3.5.2, 3.6.0
>
> Attachments: ZOOKEEPER-2295-01.patch
>
>
> When Kerberos is used as authentication mechanism some time TGT is getting
> expired because it is not refreshed timely.
> The scenario is as follow:
> suppose now=8 (the current milliseconds)
> next refresh time= 10
> TGT expire time= 9
> *Current behaviour:* Error is logged and TGT refresh thread exits.
> *Expected behaviour:* TGT should be refreshed immediately(now) instead of
> nextRefreshTime
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)