-
Bug
-
Resolution: Done
-
Major
-
None
-
False
-
False
-
NEW
-
NEW
-
- Create a process with a timer (eg. 1m)
- Create a number of instances of this process
- Wait for the timer to fire
- Check the EJBTimerScheduler.localCache map, it should be empty
-
We have enabled the EJBTimerScheduler.localCache for performance reasons. While working with a high number of timers, we noticed an increase in memory usage. Even after the timers are fired, entries from EJBTimerScheduler.localCache are not removed:
Class Name | Shallow Heap | Retained Heap ------------------------------------------------------------------------------------------------------------------- org.jbpm.services.ejb.timer.EJBTimerScheduler @ 0xb39e6070 | 24 | 180,538,352 |- <class> class org.jbpm.services.ejb.timer.EJBTimerScheduler @ 0xb3ff6988 | 32 | 3,352 |- utx org.wildfly.transaction.client.LocalUserTransaction @ 0xb2ec5848 | 16 | 16 |- timerService org.jboss.as.ejb3.timerservice.TimerServiceImpl @ 0xb3089378 | 72 | 65,824 |- localCache java.util.concurrent.ConcurrentHashMap @ 0xb39e6088 | 64 | 180,538,328 | |- <class> class java.util.concurrent.ConcurrentHashMap @ 0xae82b1e8 System Class| 136 | 648 | |- table java.util.concurrent.ConcurrentHashMap$Node[16384] @ 0xc12ea8e0 | 65,552 | 180,538,264 | | |- <class> class java.util.concurrent.ConcurrentHashMap$Node[] @ 0xae827d88 | 0 | 0 | | |- [7082] java.util.concurrent.ConcurrentHashMap$Node @ 0xb4eeea50 | 32 | 18,072 | | |- [6061] java.util.concurrent.ConcurrentHashMap$Node @ 0xb4efd370 | 32 | 18,072 | | |- [11097] java.util.concurrent.ConcurrentHashMap$Node @ 0xb4fe85c0 | 32 | 18,072 | | |- [11494] java.util.concurrent.ConcurrentHashMap$Node @ 0xb4ff11e0 | 32 | 18,072 | | |- [1921] java.util.concurrent.ConcurrentHashMap$Node @ 0xb4ff68d0 | 32 | 36,144 | | '- Total: 25 of 7,448 entries; 7,423 more | | -------------------------------------------------------------------------------------------------------------------
We expect the timer entries to be removed once they have fired.
- clones
-
RHPAM-3936 EJBTimerScheduler.localCache contains entries from already fired timers
- Closed