]
Bela Ban resolved JGRP-1420.
----------------------------
Resolution: Done
The solution was to get rid of our own sockets hashmap. pProbe.sh socks" was removed
DefaultSocketFactory: failed socket creations lead to sockets
lingering in hashmap
----------------------------------------------------------------------------------
Key: JGRP-1420
URL:
https://issues.jboss.org/browse/JGRP-1420
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.0.4, 3.1
In TCPConnectionMap.TCPConnection(), the following code is executed:
sock=socketFactory.createSocket(); // (1)
sock.bind(); // (2)
sock.connect(); // (3)
In the first step, an unconnected socket is created and added to the 'sockets'
hashmap in DefaultSocketFactory. This is used to dump the open sockets in a JGroups
program (e.g. via probe.sh socks).
However, if step (3) fails, e.g. because the destination is not reachable, the socket
should be removed from the 'sockets' hashmap, but isn't !
SOLUTIUON:
#1 Check all occurrences of this or similar code and make sure exceptions don't lead
to lingering sockets
#2 Make the 'sockets' hashmap a weak hashmap, so refs can be GC'ed when
memory is low
#3 Store string reps of the sockets rather than the sockets themselves
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: