提交 435b849d 编写于 作者: Z zhanguohuang

fix bug: Concurrent problems with client-side connection creation

上级 7b1ef8f3
...@@ -456,8 +456,7 @@ public class NettyRemotingClient extends NettyRemotingAbstract implements Remoti ...@@ -456,8 +456,7 @@ public class NettyRemotingClient extends NettyRemotingAbstract implements Remoti
private Channel createChannel(final String addr) throws InterruptedException { private Channel createChannel(final String addr) throws InterruptedException {
ChannelWrapper cw = this.channelTables.get(addr); ChannelWrapper cw = this.channelTables.get(addr);
if (cw != null && cw.isOK()) { if (cw != null && cw.isOK()) {
cw.getChannel().close(); return cw.getChannel();
channelTables.remove(addr);
} }
if (this.lockChannelTables.tryLock(LOCK_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)) { if (this.lockChannelTables.tryLock(LOCK_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)) {
...@@ -467,9 +466,7 @@ public class NettyRemotingClient extends NettyRemotingAbstract implements Remoti ...@@ -467,9 +466,7 @@ public class NettyRemotingClient extends NettyRemotingAbstract implements Remoti
if (cw != null) { if (cw != null) {
if (cw.isOK()) { if (cw.isOK()) {
cw.getChannel().close(); return cw.getChannel();
this.channelTables.remove(addr);
createNewConnection = true;
} else if (!cw.getChannelFuture().isDone()) { } else if (!cw.getChannelFuture().isDone()) {
createNewConnection = false; createNewConnection = false;
} else { } else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册