Darrel Schneider created GEODE-5783:
---------------------------------------
Summary: geode should use a single class to create instances of
ThreadFactory
Key: GEODE-5783
URL: https://issues.apache.org/jira/browse/GEODE-5783
Project: Geode
Issue Type: Improvement
Components: core
Reporter: Darrel Schneider
Geode creates a large number of ThreadFactory instances. Most of these are
created with anonymous inner classes. In most cases the ThreadFactory instance
is passed on to a thread pool. Since thread pools are finalizable they will
keep alive anything they reference until finalization takes place. Most JVM
garbage collectors delay doing finalization as long as possible. Since an
anonymous inner class always has a references to the outer class instance, a
number of places will end up having a reference to our single GemFireCacheImpl
which can end up preventing a large amount of heap from being garbage collected.
For the above reasons, and also to avoid code duplication, it would be better
if we had a single utility class that took care of creating ThreadFactory
instances. We already have one such class in geode named GemFireCacheHelper
that is only used from one class. Also google guava has ThreadFactoryBuilder
which could be used.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)