[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Created] (AMQ-5337) Bug in ConcurrentLinkedQueue leads to excessive CPU-consumption by Activ
From:       "Wawan (JIRA)" <jira () apache ! org>
Date:       2014-08-28 8:10:57
Message-ID: JIRA.12737331.1409213358494.31311.1409213457664 () arcas
[Download RAW message or body]

Wawan created AMQ-5337:
--------------------------

             Summary: Bug in ConcurrentLinkedQueue leads to excessive CPU-consumption \
by ActiveMQ process  Key: AMQ-5337
                 URL: https://issues.apache.org/jira/browse/AMQ-5337
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.10.0, 5.9.1, 5.9.0
         Environment: Linux Ubuntu
            Reporter: Wawan


The AdvisoryBroker use a ConcurrentLinkedQueue to store consumers.
This standard JDK class has a bug which can lead to an OutOfMemory : \
https://bugs.openjdk.java.net/browse/JDK-8054446

In our environment we observe that ActiveMQ process cpu usage is continually climbing \
and that the ConcurrentLinkedQueue in the AdvisoryBroker grows indefinitely.

The ConcurrentLinkedQueue is a non-blocking concurrent FIFO datastructure provided by \
the core Java Development Kit API starting from Java 5.  AdvisoryBroker use offer() \
method to add a new consumer in the ConcurrentLinkedQueue, and remove() method to \
remove it. When the consumer removed is the last element of the queue, the Consumer \
object is nulled but a node remain in the queue. The null node is then never garbage \
collected. This is true only for the last element of the queue. Any other element is \
removed safely.

Related bug : https://issues.apache.org/jira/browse/AMQ-4853




--
This message was sent by Atlassian JIRA
(v6.2#6252)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic