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