Github user hanm commented on the issue:
https://github.com/apache/zookeeper/pull/700
>> This will keep the original behaviour of eagerly registering the
selector in the constructor and addresses your concerns.
LGTM, thanks for doing this!
>> ReconfigTest.testPortChangeToBlockedPort failed, becuase it expects the
original port to be released even if the new port cannot be bound.
The proposed change looks reasonable. Though I am wondering why the current
logic would fail this test: if new port fails to bind, the old port will be
closed as part of `tryClose(oldSS);` in the `catch` block. Mind to elaborate a
little bit regarding which cases the current code fails to close the old socket?
---