metatech created AMQ-4790: ----------------------------- Summary: Avoid thread creation storm after machine suspend/resume Key: AMQ-4790 URL: https://issues.apache.org/jira/browse/AMQ-4790 Project: ActiveMQ Issue Type: Bug Components: Broker Affects Versions: 5.5.1 Environment: ServiceMix 4.4.2 Reporter: metatech Priority: Minor
My ActiveMQ broker is running and I suspend my PC. When I resume the machine the next day or (much worse) after a week-end, my PC is busy at 100% CPU for a few minutes. Because many threads are busy in parallel, the PC is completely unresponsive and the even the mouse cursor can hardly move. I had noticed that it only happens when my ServiceMix is started, and when the embedded ActiveMQ broker is configured with a JDBC persistence adapter. After investigating in the code, I found out that the "lock keep alive" feature uses the "scheduleWithFixedDelay" to update a DB lock every 30 seconds. When the PC is resumed, this generates a "backlog" of thousands of calls. It is better to use "scheduleWithFixedDelay" instead, which waits until the previous calls has finished before firing a new one. -- This message was sent by Atlassian JIRA (v6.1#6144)