eolivelli commented on a change in pull request #1289: ZOOKEEPER-3756: Members
slow to rejoin quorum using Kubernetes
URL: https://github.com/apache/zookeeper/pull/1289#discussion_r395073912
##########
File path:
zookeeper-server/src/main/java/org/apache/zookeeper/server/quorum/QuorumCnxManager.java
##########
@@ -359,20 +359,49 @@ public Thread newThread(Runnable r) {
*
* @param sid
*/
- public void testInitiateConnection(long sid) throws Exception {
+ public void testInitiateConnection(long sid) {
LOG.debug("Opening channel to server {}", sid);
- Socket sock = new Socket();
- setSockOpts(sock);
- InetSocketAddress address =
self.getVotingView().get(sid).electionAddr.getReachableOrOne();
- sock.connect(address, cnxTO);
- initiateConnection(sock, sid);
+ initiateConnection(self.getVotingView().get(sid).electionAddr, sid);
}
/**
+ * First we create the socket, perform SSL handshake and authentication if
needed.
+ * Then we perform the initiaion protocol.
* If this server has initiated the connection, then it gives up on the
* connection if it loses challenge. Otherwise, it keeps the connection.
*/
- public void initiateConnection(final Socket sock, final Long sid) {
+ public void initiateConnection(final MultipleAddresses electionAddr, final
Long sid) {
+ Socket sock = null;
+ try {
+ LOG.debug("Opening channel to server {}", sid);
+ if (self.isSslQuorum()) {
Review comment:
A better approach would be to add a
Socket makeSocket()
method
and override it with PowerMock
But we don't have powermock :(
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services