Yeah, I backed out the change in my test environment and the issue went away.
On Wed, Apr 15, 2015 at 12:07 AM, Bharat Kumar <bharat.ku...@citrix.com> wrote: > Hi, > > I guss you are correct. we need to add the newly created channel ch1 to the > map after the handshake is complete. > > _peers.put(peerName, ch) should be changed to _peers.put(peerName, ch1); > > and also return ch1 instead of ch. > > Thanks, > Bharat. > > > On 15-Apr-2015, at 12:21 pm, Marcus <shadow...@gmail.com> wrote: > >> Is anyone running 4.5 mgmt server in cluster setup? I've run into an >> issue where the channel between the two servers is null, and I think >> I've tracked it down to "coverity fixes" from >> 78bfaa79cf3eaa170ef9422bf8fb1825c0cecfc1. >> >> The method returns 'ch', which is null in the error. The coverity fix >> changes ch for ch1 and seems to initialize ch1 and then drop it on the >> floor. If someone is familiar with this code I'd appreciate a review >> of it. >> >> diff --git >> a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java >> b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java >> index 600dca2..e38489b 100755 >> --- >> a/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java >> +++ >> b/engine/orchestration/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java >> @@ -498,18 +498,17 @@ public class ClusteredAgentManagerImpl extends >> AgentManagerImpl implements Clust >> } catch (UnknownHostException e) { >> throw new CloudRuntimeException("Unable to resolve " + >> ip); >> } >> - try { >> - ch = SocketChannel.open(new >> InetSocketAddress(addr, Port.value())); >> - ch.configureBlocking(true); // make sure we are >> working at blocking mode >> - ch.socket().setKeepAlive(true); >> - ch.socket().setSoTimeout(60 * 1000); >> + try (SocketChannel ch1 = SocketChannel.open(new >> InetSocketAddress(addr, Port.value()));){ >> + ch1.configureBlocking(true); // make sure we are >> working at blocking mode >> + ch1.socket().setKeepAlive(true); >> + ch1.socket().setSoTimeout(60 * 1000); >> try { >> SSLContext sslContext = Link.initSSLContext(true); >> sslEngine = sslContext.createSSLEngine(ip, >> Port.value()); >> sslEngine.setUseClientMode(true); >> >> sslEngine.setEnabledProtocols(SSLUtils.getSupportedProtocols(sslEngine.getEnabledProtocols())); >> >> - Link.doHandshake(ch, sslEngine, true); >> + Link.doHandshake(ch1, sslEngine, true); >> s_logger.info("SSL: Handshake done"); >> } catch (Exception e) { >> throw new IOException("SSL: Fail to init SSL! " + e); >