[ 
https://issues.apache.org/jira/browse/GEODE-8956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17309675#comment-17309675
 ] 

ASF subversion and git services commented on GEODE-8956:
--------------------------------------------------------

Commit e32d547bc7a6c690949c021328d35cb6ae6fa20c in geode's branch 
refs/heads/develop from Mario Ivanac
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=e32d547 ]

GEODE-8956: added thread pool to LocatorMembershipListener (#6048)



> 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
>
> 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.3.4#803005)

Reply via email to