Repository: incubator-rocketmq
Updated Branches:
  refs/heads/master 85467dfd3 -> 776911d45


[ROCKETMQ-34] Potential NPE in NettyConnetManageHandler#connect, closes 
apache/incubator-rocketmq#30


Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/commit/776911d4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/tree/776911d4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/diff/776911d4

Branch: refs/heads/master
Commit: 776911d458d45280de3a4c0f4d6b2bd2ee98d6b2
Parents: 85467df
Author: shroman <[email protected]>
Authored: Mon Jan 9 16:09:02 2017 +0800
Committer: yukon <[email protected]>
Committed: Mon Jan 9 16:09:02 2017 +0800

----------------------------------------------------------------------
 .../remoting/netty/NettyRemotingClient.java      | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rocketmq/blob/776911d4/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
----------------------------------------------------------------------
diff --git 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
index 4376416..9fdaccf 100644
--- 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
+++ 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
@@ -73,12 +73,12 @@ public class NettyRemotingClient extends 
NettyRemotingAbstract implements Remoti
     private final Bootstrap bootstrap = new Bootstrap();
     private final EventLoopGroup eventLoopGroupWorker;
     private final Lock lockChannelTables = new ReentrantLock();
-    private final ConcurrentHashMap<String /* addr */, ChannelWrapper> 
channelTables = new ConcurrentHashMap<String, ChannelWrapper>();
+    private final ConcurrentHashMap<String /* addr */, ChannelWrapper> 
channelTables = new ConcurrentHashMap<>();
 
     private final Timer timer = new Timer("ClientHouseKeepingService", true);
 
-    private final AtomicReference<List<String>> namesrvAddrList = new 
AtomicReference<List<String>>();
-    private final AtomicReference<String> namesrvAddrChoosed = new 
AtomicReference<String>();
+    private final AtomicReference<List<String>> namesrvAddrList = new 
AtomicReference<>();
+    private final AtomicReference<String> namesrvAddrChoosed = new 
AtomicReference<>();
     private final AtomicInteger namesrvIndex = new 
AtomicInteger(initValueIndex());
     private final Lock lockNamesrvChannel = new ReentrantLock();
 
@@ -155,7 +155,7 @@ public class NettyRemotingClient extends 
NettyRemotingAbstract implements Remoti
                         new NettyEncoder(),
                         new NettyDecoder(),
                         new IdleStateHandler(0, 0, 
nettyClientConfig.getClientChannelMaxIdleTimeSeconds()),
-                        new NettyConnetManageHandler(),
+                        new NettyConnectManageHandler(),
                         new NettyClientHandler());
                 }
             });
@@ -527,7 +527,7 @@ public class NettyRemotingClient extends 
NettyRemotingAbstract implements Remoti
             executorThis = this.publicExecutor;
         }
 
-        Pair<NettyRequestProcessor, ExecutorService> pair = new 
Pair<NettyRequestProcessor, ExecutorService>(processor, executorThis);
+        Pair<NettyRequestProcessor, ExecutorService> pair = new 
Pair<>(processor, executorThis);
         this.processorTable.put(requestCode, pair);
     }
 
@@ -596,17 +596,18 @@ public class NettyRemotingClient extends 
NettyRemotingAbstract implements Remoti
         }
     }
 
-    class NettyConnetManageHandler extends ChannelDuplexHandler {
+    class NettyConnectManageHandler extends ChannelDuplexHandler {
         @Override
-        public void connect(ChannelHandlerContext ctx, SocketAddress 
remoteAddress, SocketAddress localAddress, ChannelPromise promise)
-            throws Exception {
+        public void connect(ChannelHandlerContext ctx, SocketAddress 
remoteAddress, SocketAddress localAddress,
+            ChannelPromise promise) throws Exception {
             final String local = localAddress == null ? "UNKNOW" : 
localAddress.toString();
             final String remote = remoteAddress == null ? "UNKNOW" : 
remoteAddress.toString();
             log.info("NETTY CLIENT PIPELINE: CONNECT  {} => {}", local, 
remote);
+
             super.connect(ctx, remoteAddress, localAddress, promise);
 
             if (NettyRemotingClient.this.channelEventListener != null) {
-                NettyRemotingClient.this.putNettyEvent(new 
NettyEvent(NettyEventType.CONNECT, remoteAddress.toString(), ctx.channel()));
+                NettyRemotingClient.this.putNettyEvent(new 
NettyEvent(NettyEventType.CONNECT, remote, ctx.channel()));
             }
         }
 

Reply via email to