[ 
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)

Reply via email to