-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47568/
-----------------------------------------------------------
Review request for geode, Eric Shu, Scott Jewell, Ken Howe, and Sai Boorlagadda.
Bugs: GEODE-1246
https://issues.apache.org/jira/browse/GEODE-1246
Repository: geode
Description
-------
Changed async event pool to use all its threads.
A new unit test was added that failed with the old pool and passes with the new.
The system property gemfire.Cache.EVENT_THREAD_LIMIT can be used to configure
the number of threads used the async cache listener invocation.
It defaults to 16.
A bunch of changes were made so that the unit test could create a real
GemFireCacheImpl with a mocked DistributedSystem.
I enhanced the DistributedSystem created by "Fakes".
The actual fix for the threading issue is limited to GemFireCacheImpl:
this.eventThreadPool = new PooledExecutorWithDMStats(q, EVENT_THREAD_LIMIT,
this.cachePerfStats.getEventPoolHelper(), tf, 1000);
and the changes to PooledExecutorWithDMStats (which are not actually needed but
will prevent someone from calling a particular constructor with a queue that is
not a SynchronousQueue.
Diffs
-----
geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/PooledExecutorWithDMStats.java
0a9f9eca2b4c343fb69bd9bbce2ff76de5ea2faf
geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockService.java
610944e71a1b97cc11a534412c68a6dc98e909f3
geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
96b7bbcf706ef52e02f01a424035e945050d2dee
geode-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
b5ff7ee8f56b0ce64f78db072d98104ac654b392
geode-core/src/main/java/com/gemstone/gemfire/internal/jndi/JNDIInvoker.java
b3aecc4ef7d9b5d06ac528f2a70a469a1b32b328
geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GemFireCacheImplTest.java
PRE-CREATION
geode-core/src/test/java/com/gemstone/gemfire/test/fake/Fakes.java
2a1fd8e343681f5cd41fa42145d2ae2fb73fd2c3
Diff: https://reviews.apache.org/r/47568/diff/
Testing
-------
precheckin
Thanks,
Darrel Schneider