You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Craig Condit (JIRA)" <ji...@apache.org> on 2011/01/25 23:51:43 UTC

[jira] Created: (AMQ-3160) ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker

ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker
---------------------------------------------------------------------

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


There appears to be a race condition accessing Journal.getHashMap() from the ActiveMQ Journal Checkpoint Worker thread. Under high loads, we occasionally see the following exception in our logs:

Exception in thread "ActiveMQ Journal Checkpoint Worker" java.util.ConcurrentModificationException
      at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
      at java.util.HashMap$EntryIterator.next(HashMap.java:834)
      at java.util.HashMap$EntryIterator.next(HashMap.java:832)
      at java.util.AbstractMap.putAll(AbstractMap.java:255)
      at java.util.TreeMap.putAll(TreeMap.java:304)
      at java.util.TreeMap.<init>(TreeMap.java:162)
      at org.apache.kahadb.journal.Journal.getFileMap(Journal.java:660)
      at org.apache.activemq.store.kahadb.MessageDatabase.checkpointUpdate(MessageDatabase.java:970)
      at org.apache.activemq.store.kahadb.MessageDatabase.access$400(MessageDatabase.java:82)
      at org.apache.activemq.store.kahadb.MessageDatabase$9.execute(MessageDatabase.java:599)
      at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
      at org.apache.activemq.store.kahadb.MessageDatabase.checkpointCleanup(MessageDatabase.java:597)
      at org.apache.activemq.store.kahadb.MessageDatabase$3.run(MessageDatabase.java:249)

This leads to the thread aborting prematurely.

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


[jira] Assigned: (AMQ-3160) ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully reassigned AMQ-3160:
-------------------------------

    Assignee: Gary Tully

> ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker
> ---------------------------------------------------------------------
>
>                 Key: AMQ-3160
>                 URL: https://issues.apache.org/jira/browse/AMQ-3160
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.4.2
>         Environment: CentOS 5.2
>            Reporter: Craig Condit
>            Assignee: Gary Tully
>            Priority: Minor
>
> There appears to be a race condition accessing Journal.getHashMap() from the ActiveMQ Journal Checkpoint Worker thread. Under high loads, we occasionally see the following exception in our logs:
> Exception in thread "ActiveMQ Journal Checkpoint Worker" java.util.ConcurrentModificationException
>       at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:834)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:832)
>       at java.util.AbstractMap.putAll(AbstractMap.java:255)
>       at java.util.TreeMap.putAll(TreeMap.java:304)
>       at java.util.TreeMap.<init>(TreeMap.java:162)
>       at org.apache.kahadb.journal.Journal.getFileMap(Journal.java:660)
>       at org.apache.activemq.store.kahadb.MessageDatabase.checkpointUpdate(MessageDatabase.java:970)
>       at org.apache.activemq.store.kahadb.MessageDatabase.access$400(MessageDatabase.java:82)
>       at org.apache.activemq.store.kahadb.MessageDatabase$9.execute(MessageDatabase.java:599)
>       at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>       at org.apache.activemq.store.kahadb.MessageDatabase.checkpointCleanup(MessageDatabase.java:597)
>       at org.apache.activemq.store.kahadb.MessageDatabase$3.run(MessageDatabase.java:249)
> This leads to the thread aborting prematurely.

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


[jira] Resolved: (AMQ-3160) ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-3160.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 5.5.0

sync added in r1063691

URL: http://svn.apache.org/viewvc?rev=1063691&view=rev

> ConcurrentModificationException in ActiveMQ Journal Checkpoint Worker
> ---------------------------------------------------------------------
>
>                 Key: AMQ-3160
>                 URL: https://issues.apache.org/jira/browse/AMQ-3160
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.4.2
>         Environment: CentOS 5.2
>            Reporter: Craig Condit
>            Assignee: Gary Tully
>            Priority: Minor
>             Fix For: 5.5.0
>
>
> There appears to be a race condition accessing Journal.getHashMap() from the ActiveMQ Journal Checkpoint Worker thread. Under high loads, we occasionally see the following exception in our logs:
> Exception in thread "ActiveMQ Journal Checkpoint Worker" java.util.ConcurrentModificationException
>       at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:834)
>       at java.util.HashMap$EntryIterator.next(HashMap.java:832)
>       at java.util.AbstractMap.putAll(AbstractMap.java:255)
>       at java.util.TreeMap.putAll(TreeMap.java:304)
>       at java.util.TreeMap.<init>(TreeMap.java:162)
>       at org.apache.kahadb.journal.Journal.getFileMap(Journal.java:660)
>       at org.apache.activemq.store.kahadb.MessageDatabase.checkpointUpdate(MessageDatabase.java:970)
>       at org.apache.activemq.store.kahadb.MessageDatabase.access$400(MessageDatabase.java:82)
>       at org.apache.activemq.store.kahadb.MessageDatabase$9.execute(MessageDatabase.java:599)
>       at org.apache.kahadb.page.Transaction.execute(Transaction.java:728)
>       at org.apache.activemq.store.kahadb.MessageDatabase.checkpointCleanup(MessageDatabase.java:597)
>       at org.apache.activemq.store.kahadb.MessageDatabase$3.run(MessageDatabase.java:249)
> This leads to the thread aborting prematurely.

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