[ 
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)

Reply via email to