-
Bug
-
Resolution: Done
-
Major
-
6.4.4
-
None
-
RHEL 6.8
Oracle JDK 1.8.0_91l64
EAP 7.0.4
BPMS 6.4.1
Oracle DB 11g
When running a process with a large number of long-lived timers and a large number of sessions, the GlobalTimerService.timerJobsPerSession map appears to grow without limit and dominates the Heap until an OOM condition occurs. Each job handle keeps a live reference to the Process Session, and takes up approximately 232kb. This adds up quickly when scaling to thousands of concurrent processes.
Since the timers are long-lived, the sessions don't need to remain in memory. Is there any way to have the GlobalTimerService purge the mapping periodically? This is especially helpful when using external timer management, such as Quartz or EJB based timers, since the engine does not need to keep the timer data around to ensure proper firing.
- clones
-
RHPAM-39 GlobalTimerService.timerJobsPerSession grows without bounds
- Closed