in our product stress test, we will kill/restart one node continouslly, and we using GC Viewer find there is a tiny memory leak, and finally we find the leak object is java.net.Socket.
next we find the socket object is hold by DefaultSocketFactory's sockets map.
more investigate/debug, (uncertain, hope it can help identify the issue)
in TCPConnectionMap$Mapper.getConnection(Address dest), it will get a TCPConnection from conns hashmap, then it find the conn is not open, and recreated a new connection, but it seems hasn't close the old one.