Darrel Schneider created GEODE-9331:
---------------------------------------

             Summary: ConnectionTable maintains WeakReference to thread local 
map for no reason
                 Key: GEODE-9331
                 URL: https://issues.apache.org/jira/browse/GEODE-9331
             Project: Geode
          Issue Type: Bug
          Components: membership
            Reporter: Darrel Schneider


Every time a p2p thread owned connection is created it is added to a HashMap 
kept by the thread in a ThreadLocal. A WeakReference referencing that HashMap 
is also added to an ArrayList. But this ArrayList is not actually used for 
anything. It is iterated over in ConnectionTable.close to close any of the 
thread local connections but all of these connections are also in the 
"threadConnectionMap" which is iterated over during close.

So the ArrayList "threadConnMaps" can be removed with no loss of functionality. 
Getting rid of it will improve performance the first time a thread creates a 
thread owned connection and will reduce the amount of memory consumed (the 
ArrayList will have at least one entry for every thread using thread owned 
connections but it may have more since the WeakReference can be slow to be 
garbage collected). 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to