You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (Jira)" <ji...@apache.org> on 2022/05/25 22:23:00 UTC
[jira] [Created] (GEODE-10337) SocketCreatorFactory does not null out instance static
Darrel Schneider created GEODE-10337:
----------------------------------------
Summary: 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
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)