[ https://issues.apache.org/jira/browse/ZOOKEEPER-2469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15371904#comment-15371904 ]
Arshad Mohammad commented on ZOOKEEPER-2469: -------------------------------------------- Thanks [~sershe] for update. # I think it is better to leave the method {{hasSufficientTimeElapsed}} as it is. you can use bellow code sniped and will get the same result as you get after merging methods {code} if (!immediateRetry && !hasSufficientTimeElapsed()) { return; } {code} When {{immediateRetry}} is true {{hasSufficientTimeElapsed()}} will not get called and there will not be anything logged from {{hasSufficientTimeElapsed() }} # Correct the log message, as thread is not exiting now {noformat} LOG.error("Could not refresh TGT for principal: {}. Exiting refresh thread.", principal, le); {noformat} > infinite loop in ZK re-login > ---------------------------- > > Key: ZOOKEEPER-2469 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2469 > Project: ZooKeeper > Issue Type: Bug > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Attachments: ZOOKEEPER-2469.01.patch, ZOOKEEPER-2469.02.patch, > ZOOKEEPER-2469.patch > > > {noformat} > int retry = 1; > while (retry >= 0) { > try { > reLogin(); > break; > } catch (LoginException le) { > if (retry > 0) { > --retry; > // sleep for 10 seconds. > try { > Thread.sleep(10 * 1000); > } catch (InterruptedException e) { > LOG.error("Interrupted during login > retry after LoginException:", le); > throw le; > } > } else { > LOG.error("Could not refresh TGT for > principal: " + principal + ".", le); > } > } > } > {noformat} > will retry forever. Should return like the one above -- This message was sent by Atlassian JIRA (v6.3.4#6332)