activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Condit (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-3161) Race condition in ActiveMQ Journal Checkpoint worker thread cleanup leads to multiple running instances
Date Tue, 25 Jan 2011 22:55:44 GMT
Race condition in ActiveMQ Journal Checkpoint worker thread cleanup leads to multiple running
instances
-------------------------------------------------------------------------------------------------------

                 Key: AMQ-3161
                 URL: https://issues.apache.org/jira/browse/AMQ-3161
             Project: ActiveMQ
          Issue Type: Bug
          Components: Message Store
    Affects Versions: 5.4.2
         Environment: CentOS 5.2
            Reporter: Craig Condit
            Priority: Critical


If the ActiveMQ Journal Checkpoint worker thread dies for any reason, any updates to KahaDB
trigger the thread to be restarted. Unfortunately, there is a race condition between the Thread.isAlive()
check and the restart of the thread, potentially leading to multiple instances of the thread
being spawned.  We have observed in a busy environment as many as 8-10 instances of this thread,
all waking up every 5 seconds to perform database checkpoints, bringing throughput on the
broker to a halt.

The attached patch adds a lock around access to creation/destruction of this thread and prevents
a second instance from being launched inadvertently.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message