-
Bug
-
Resolution: Done
-
Major
-
8.1.0.Final
-
None
In our default configuration, both JGroups and Infinispan manage their own thread pools. Unfortunately, both projects do not handle thread pool lifecycle so well. Both projects use ExecutorService.shutdownNow() to end their thread pool lifecycles. This means that a channel or cache can stop, but still leave active threads running (albeit interrupted). We should have services that manage the lifecycle of our thread pools which ensure that all threads have terminated during Service.stop().
This causes occasional OOMs in the Windows CI testsuite runs, due to too many threads lying around.