Jeremy Stribling created ZOOKEEPER-1842:
-------------------------------------------

             Summary: Election listening thread not shutdown for leaders or 
followers
                 Key: ZOOKEEPER-1842
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1842
             Project: ZooKeeper
          Issue Type: Bug
          Components: quorum
         Environment: Linux, ZK trunk
            Reporter: Jeremy Stribling


When I was testing the patch for 
https://issues.apache.org/jira/browse/ZOOKEEPER-1691, the test included with 
that patch was failing for me.  The problem happened when the tests shuts down 
some followers and then attempts to bring them back up:

{quote}
2013-12-13 17:31:03,976 [myid:1] - INFO 
[QuorumPeer[myid=1]/127.0.0.1:11227:Follower@194] - shutdown called
java.lang.Exception: shutdown Follower
        at 
org.apache.zookeeper.server.quorum.Follower.shutdown(Follower.java:194)
        at 
org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:971)
...
2013-12-13 17:31:03,992 [myid:1] - INFO 
[QuorumPeerListener:QuorumCnxManager$Listener@544] - My election bind port: 
localhost/127.0.0.1:11229
2013-12-13 17:31:03,992 [myid:1] - ERROR 
[localhost/127.0.0.1:11229:QuorumCnxManager$Listener@557] - Exception while 
listening
java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at 
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:376)
        at java.net.ServerSocket.bind(ServerSocket.java:330)
        at 
org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:546)
 
{quote}

The problem appears to be that the when follower.shutdown() is called in 
QuorumPeer.run(), the election algorithm is never shut down, so when the node 
restarts it can't bind back to the same port.

I will upload a patch that calls shutdown() for both the leader and the 
follower in this case, but I'm not positive its the right place or fix for this 
issue, so feedback would be appreciated.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to