[ https://issues.apache.org/jira/browse/GEODE-10337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Baker updated GEODE-10337: ---------------------------------- Labels: blocks-1.16.0 (was: needsTriage) > SocketCreatorFactory does not null out instance static > ------------------------------------------------------ > > Key: GEODE-10337 > URL: https://issues.apache.org/jira/browse/GEODE-10337 > Project: Geode > Issue Type: Bug > Components: membership > Reporter: Darrel Schneider > Priority: Major > Labels: blocks-1.16.0 > > The SocketCreatorFactory has a static "instance" field that keeps the > singleton factory. The factory has a reference in "distributionConfig" that > ends up keeping the InternalDistributedSystem alive after disconnect. > It also has a static close method but the product never calls it. > To fix this leak do the following: > On InternalDistributedSystem.disconnect add to the end of it: > {code:java} > if (!attemptingToReconnect) { > SocketCreatorFactory.close(); > } > {code} > Also I think it would be good to change SocketCreatorFactory.getInstance to > null out the static when close it called like so: > {code:java} > private static synchronized SocketCreatorFactory getInstance(boolean > closing) { > SocketCreatorFactory result = instance; > if (result == null && !closing) { > result = new SocketCreatorFactory(); > instance = result; > } else if (result != null && closing) { > instance = null; > } > return result; > } > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)