Port assert from 5.x to master

I added an assertion to Netty4/Netty3Transport in 5.x that is not in
master yet. This commit port the assert to ensure we consumed all connection
in `connectToChannels`
This commit is contained in:
Simon Willnauer 2016-12-02 10:34:33 +01:00
parent 8fd3637891
commit 572b4c3e72
1 changed files with 3 additions and 3 deletions

View File

@ -345,7 +345,6 @@ public class Netty4Transport extends TcpTransport<Channel> {
final NodeChannels nodeChannels = new NodeChannels(channels, profile);
boolean success = false;
try {
final int numConnections = channels.length;
final TimeValue connectTimeout;
final Bootstrap bootstrap;
final TimeValue defaultConnectTimeout = defaultConnectionProfile.getConnectTimeout();
@ -357,9 +356,9 @@ public class Netty4Transport extends TcpTransport<Channel> {
connectTimeout = defaultConnectTimeout;
bootstrap = this.bootstrap;
}
final ArrayList<ChannelFuture> connections = new ArrayList<>(numConnections);
final ArrayList<ChannelFuture> connections = new ArrayList<>(channels.length);
final InetSocketAddress address = node.getAddress().address();
for (int i = 0; i < numConnections; i++) {
for (int i = 0; i < channels.length; i++) {
connections.add(bootstrap.connect(address));
}
final Iterator<ChannelFuture> iterator = connections.iterator();
@ -374,6 +373,7 @@ public class Netty4Transport extends TcpTransport<Channel> {
channels[i] = future.channel();
channels[i].closeFuture().addListener(new ChannelCloseListener(node));
}
assert iterator.hasNext() == false : "not all created connection have been consumed";
} catch (final RuntimeException e) {
for (final ChannelFuture future : Collections.unmodifiableList(connections)) {
FutureUtils.cancel(future);