[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2319?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Zhaohui Yu updated ZOOKEEPER-2319:
----------------------------------
    Description: 
Given three nodes, the leader on 2, but some issue with this machine, so I 
shutdown this machine, and change the host name to another machine.
Then I start the node in the new machine, but the new node can not join.
I found the the 1 and 3's Listener thread exit.

With the code of Listener's run method:
I think we should catch UnresolvedAddressException to avoid the Listener exit.
@Override
        public void run() {
           
            while((!shutdown) && (numRetries < 3)){
                try {
                   // bind and accept
                        receiveConnection(client);
                  
                } catch (IOException e) {
                    
                }
            }
            //
        }

  was:
Given three nodes, the leader on 2, but some issue with this machine, so I 
shutdown this machine, and change the host name to another machine.
Then I start the node in the new machine, but the new node can not join.
I found the the 1 and 3's Listener thread exit.

With the code of Listener's run method:
I don't think place the receiveConnection call in this try catch block is a 
good idea. And I think we should catch UnresolvedAddressException to avoid the 
Listener exit.
@Override
        public void run() {
           
            while((!shutdown) && (numRetries < 3)){
                try {
                   // bind and accept
                        receiveConnection(client);
                  
                } catch (IOException e) {
                    
                }
            }
            //
        }


> UnresolvedAddressException cause the QuorumCnxManager.Listener exit
> -------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2319
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2319
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.4.6
>            Reporter: Zhaohui Yu
>            Priority: Critical
>
> Given three nodes, the leader on 2, but some issue with this machine, so I 
> shutdown this machine, and change the host name to another machine.
> Then I start the node in the new machine, but the new node can not join.
> I found the the 1 and 3's Listener thread exit.
> With the code of Listener's run method:
> I think we should catch UnresolvedAddressException to avoid the Listener exit.
> @Override
>         public void run() {
>            
>             while((!shutdown) && (numRetries < 3)){
>                 try {
>                    // bind and accept
>                         receiveConnection(client);
>                   
>                 } catch (IOException e) {
>                     
>                 }
>             }
>             //
>         }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to