You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Owen Nichols (Jira)" <ji...@apache.org> on 2022/06/22 20:46:01 UTC
[jira] [Closed] (GEODE-8956) LocatorMembershipListenerImpl has unconstrained thread creation that can crash a machine
[ https://issues.apache.org/jira/browse/GEODE-8956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Owen Nichols closed GEODE-8956.
-------------------------------
> LocatorMembershipListenerImpl has unconstrained thread creation that can crash a machine
> ----------------------------------------------------------------------------------------
>
> Key: GEODE-8956
> URL: https://issues.apache.org/jira/browse/GEODE-8956
> Project: Geode
> Issue Type: Bug
> Components: wan
> Reporter: Bruce J Schuchardt
> Assignee: Mario Ivanac
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.15.0
>
>
> In reviewing PR 6013 I found that a simple change meant to resolve a difficult problem lead to unrestrained thread growth, sometimes topping out at over 5000 threads, in a locator that often crashed the host machine. The thread growth was due to this method in LocatorMembershipListenerImpl:
> {code:java}
> Thread buildLocatorsDistributorThread(DistributionLocatorId localLocatorId,
> Map<Integer, Set<DistributionLocatorId>> remoteLocators, DistributionLocatorId joiningLocator,
> int joiningLocatorDistributedSystemId) {
> Runnable distributeLocatorsRunnable =
> new DistributeLocatorsRunnable(config.getMemberTimeout(), tcpClient, localLocatorId,
> remoteLocators, joiningLocator, joiningLocatorDistributedSystemId);
> ThreadFactory threadFactory = new LoggingThreadFactory(LOCATORS_DISTRIBUTOR_THREAD_NAME, true);
> return threadFactory.newThread(distributeLocatorsRunnable);
> }
> {code}
> This should probably be performed in an Executor with a reasonable max-threads limit based on the number of local and remote-locators in the DistributionConfig.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)