AnsweredAssumed Answered

AsyncExecutor multiple instances causing deadlock

Question asked by francop on Jan 11, 2017
Latest reply on Jan 11, 2017 by francop

Hi, We are currently experiencing out of memory(OOM) situation in our application. Thread dump shows blocked threads on activiti's AsyncJobExecutor with 2 instances of the same being created concurrently to acquire the jobs, blocking on each other causing deadlock situation. This results in spinning numerous timer threads in timed waiting state and eventually crashing the app with out of memory conditions. 5.20.0 is the activiti version we use.  Can you please shed some light on why 2 instances of async threads are created and provide a solution on how to fix this problem?.

 

Attaching screenshot showing 2 threads created by AquireTimerJobsDueRunnable  and AquireAsyncJobsDueRunnable and are blocked on each other while acquiring timer jobs from DB using UCP pooling.

Attachments

Outcomes