Github user enixon commented on the issue:
https://github.com/apache/zookeeper/pull/184
For context on the second pull request, testing at Facebook revealed a bug
in the existent form of 184. From #627 notes:
> Fixed networking issues/bugs in UnifiedServerSocket
> - don't crash the accept() thread if the client closes the connection
without sending any data
> - don't corrupt the connection if the client sends fewer than 5 bytes
for the initial read
> - delay the detection of TLS vs. plaintext mode until a socket stream
is read from or written to. This prevents the accept() thread from getting
blocked on a read() operation from the newly connected socket.
> - prepending 5 bytes to PrependableSocket and then trying to read >5
bytes would only return the first 5 bytes, even if more bytes were available.
This is fixed.
The fix for this issue is entangled in other code that was written as an
extension of 184. As github does not seem to support stacked pull requests,
we're offering 627 as a mix "184 + extensions + bug fix" as a way of at least
sharing what we know. If there are low cost ways of presenting that work more
cleanly, please share.
---