Description
QuorumCnxManager.receiveConnection assumes that a negative sid means that this is a 3.5.0 server, which has a different communication protocol. This doesn't account for the fact that ObserverId = -1 is a special id that may be used by observers and is also negative.
This requires a fix to trunk and a separate fix to 3.4 branch, where this function is different (see ZOOKEEPER-1633)