From 9258c7c3c9af4e7bca40dc001b950a1b3f9799b9 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 22 Oct 2019 14:58:11 +0530 Subject: [PATCH] Revert "9ee129ae6a08935645734ad520bec72bf5f22217" This reverts "9ee129ae6a08935645734ad520bec72bf5f22217" from #3525, as the solution is not optimal and would cause a single Link to be added in the Map if management server is behind a LB. Signed-off-by: Rohit Yadav --- .../src/main/java/com/cloud/utils/nio/NioServer.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/utils/src/main/java/com/cloud/utils/nio/NioServer.java b/utils/src/main/java/com/cloud/utils/nio/NioServer.java index 58ef463a192..0f83eda57b5 100644 --- a/utils/src/main/java/com/cloud/utils/nio/NioServer.java +++ b/utils/src/main/java/com/cloud/utils/nio/NioServer.java @@ -25,7 +25,6 @@ import java.nio.channels.ClosedChannelException; import java.nio.channels.SelectionKey; import java.nio.channels.ServerSocketChannel; import java.nio.channels.spi.SelectorProvider; -import java.util.Map; import java.util.WeakHashMap; import org.apache.cloudstack.framework.ca.CAService; @@ -37,13 +36,13 @@ public class NioServer extends NioConnection { protected InetSocketAddress _localAddr; private ServerSocketChannel _serverSocket; - protected Map _links; + protected WeakHashMap _links; public NioServer(final String name, final int port, final int workers, final HandlerFactory factory, final CAService caService) { super(name, port, workers, factory); setCAService(caService); _localAddr = null; - _links = new WeakHashMap(10240); + _links = new WeakHashMap(1024); } public int getPort() { @@ -76,12 +75,12 @@ public class NioServer extends NioConnection { @Override protected void registerLink(final InetSocketAddress addr, final Link link) { - _links.put(addr.getAddress().toString(), link); + _links.put(addr, link); } @Override protected void unregisterLink(final InetSocketAddress saddr) { - _links.remove(saddr.getAddress().toString()); + _links.remove(saddr); } /** @@ -94,7 +93,7 @@ public class NioServer extends NioConnection { * @return null if not sent. attach object in link if sent. */ public Object send(final InetSocketAddress saddr, final byte[] data) throws ClosedChannelException { - final Link link = _links.get(saddr.getAddress().toString()); + final Link link = _links.get(saddr); if (link == null) { return null; }