I have discovered a JMX threads leak in NodeProbe. Here is the original email thread on the user mailing list:
http://www.mail-archive.com/u...@cassandra.apache.org/msg06764.html NodePorbe creats a JMXConnector but never calls JMXConnector.close(). The use of a JMXConnector in NodeProbe is not exposed in its API. So without changing the API, my initial thought is to add a finalize() method to NodeProbe in which JMXConnector.close() is called. But I am not sure if this is the best solution. Using a finalizer many lead to memory leak since in this case NodeProbe will not be garbage collector until its finalizer is called, but in Java the finalize() method is not guaranteed to be called at any particular time. We probably don't want to create a new JMXConnector for each operation. Should we add a close() method to NodeProbe which users of NodeProbe has to call to avoid using a finalizer? Bill