In a multi-node setup, the following sequence of events can lead to stale timer entries in the JBOSS_EJB_TIMER table:
- Start a process on node1
- The process reaches a human task node with notifications/reassignments and creates timers
- Complete the task on node2 before the timers are refreshed
- Timer entries fail to get removed:
- Once the notification/reassignment timer expires, it will be called repeatedly:
This can only be ended by stopping the node and manually deleting the timer from the timer table.
When a timer is triggered because it is still running and other node cancels those timers (Complete task) before the other node the timer is triggered can cause a race condition in the reschedule. verify that the timer does not exist anymore should be considererd that there is no need for rescheduling.