-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.4.0
The job acquisition thread is notified whenever a job is added. It maintains a flag isJobAdded for that. That flag is only cleared when the acquisition thread has actually slept (a remain of the previous implementation, cf https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/jobexecutor/AcquireJobsRunnable.java#L51). If the job notification is made when the acquisition thread is not already sleeping, it will infinitely assume that a job was added and therefore infinitely maintain idle level 0 (cf https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/jobexecutor/BackoffJobAcquisitionStrategy.java#L198).
Solution idea:
Clear the flag on every acquisition cycle (e.g. after the strategy was reconfigured, https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/jobexecutor/SequentialJobAcquisitionRunnable.java#L68)
Workaround:
https://github.com/ThorbenLindhauer/CAM-5073-workaround