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

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

Commit 6890221ddba6c60c80796f581dab164f4043b65b in geode's branch 
refs/heads/develop from Dale Emery
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=6890221 ]

GEODE-9441: Reduce Nested func test thread count (#6708)

Change `NestedFunctionExecutionDistributedTest` to create fewer threads.

The test creates a number of threads that is a multiple of
`MAX_FE_THREADS`. On a CI machine, the default value of `MAX_FE_THREADS`
can be very high, causing this test to create thousands of threads. This
can leave the system unable to create threads for other processes, which
in turn can cause Gradle processes or other tests to fail or hang.

This test now sets `MAX_FE_THREADS` to a lower value (100), which
suffices for the purpose of the test, and results in greatly reduced
consumption of threads.

Co-authored-by: Dale Emery <dem...@vmware.com>

> The NestedFunctionExecutionDistributedTest uses too many threads
> ----------------------------------------------------------------
>
>                 Key: GEODE-9441
>                 URL: https://issues.apache.org/jira/browse/GEODE-9441
>             Project: Geode
>          Issue Type: Test
>          Components: tests
>            Reporter: Barrett Oglesby
>            Assignee: Dale Emery
>            Priority: Major
>              Labels: GeodeOperationAPI, pull-request-available
>
> The {{NestedFunctionExecutionDistributedTest}} uses {{OperationExecutors 
> MAX_FE_THREADS}} to configure both client function invocations and cache 
> server max connections.
> It uses MAX_FE_THREADS * 2 for function executions which use Function 
> Execution Processor threads:
> {noformat}
> client.invoke(() -> executeFunction(new ParentFunction(), MAX_FE_THREADS * 
> 2));
> {noformat}
> And potentially MAX_FE_THREADS * 3 for client connections which use 
> ServerConnection threads:
> {noformat}
> cacheServer.setMaxConnections(Math.max(CacheServer.DEFAULT_MAX_CONNECTIONS, 
> MAX_FE_THREADS * 3));
> {noformat}
> MAX_FE_THREADS was changed recently to:
> {noformat}
> Math.max(Runtime.getRuntime().availableProcessors() * 16, 16))
> {noformat}
> It doesn't need to use this many threads to test the behavior it is testing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to