History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: AMQ-1430
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: David Dossot
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
ActiveMQ

Composite Queue causes duplicate keys in JDBC store

Created: 20/Sep/07 01:17 PM   Updated: 07/May/08 09:50 AM
Component/s: Broker
Affects Version/s: None
Fix Version/s: 5.2.0

Time Tracking:
Not Specified

Environment: apache-activemq-5.0-20070920.154726-5, JVM 1.5.0_07, Mac OS X


 Description  « Hide
Using this CQ config:

<compositeQueue name="A">
<forwardTo>
<queue physicalName="B" />
<queue physicalName="C" />
</forwardTo>
</compositeQueue>

and this JDBC config:

<journaledJDBC journalLogFiles="5"
dataDirectory="${esb.data.dir}/activemq/data"
dataSource="#derby-ds" />

I create a subscriber to queue B and one to queue C. I start a publisher that sends 20 messages.

The subscriber to queue B receives 20 messages ; the one on queue C receives 0.

The server prints this error for each message:

Sep 20, 2007 1:11:04 PM org.apache.activemq.util.TransactionTemplate run
SEVERE: Having to Rollback - caught an exception: java.io.IOException: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL070920011040920' defined on 'ACTIVEMQ_MSGS'.
Sep 20, 2007 1:11:04 PM org.apache.activemq.store.journal.JournalPersistenceAdapter doCheckpoint
SEVERE: Failed to checkpoint a message store: java.util.concurrent.ExecutionException: java.io.IOException: Not started.
java.util.concurrent.ExecutionException: java.io.IOException: Not started.
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205)
at java.util.concurrent.FutureTask.get(FutureTask.java:80)
at org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint(JournalPersistenceAdapter.java:397)
at org.apache.activemq.store.journal.JournalPersistenceAdapter$1.iterate(JournalPersistenceAdapter.java:118)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:118)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:42)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.io.IOException: Not started.
at org.apache.activemq.store.jdbc.TransactionContext.rollback(TransactionContext.java:174)
at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.rollbackTransaction(JDBCPersistenceAdapter.java:366)
at org.apache.activemq.store.journal.JournalPersistenceAdapter.rollbackTransaction(JournalPersistenceAdapter.java:200)
at org.apache.activemq.util.TransactionTemplate.run(TransactionTemplate.java:59)
at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(JournalMessageStore.java:257)
at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(JournalMessageStore.java:232)
at org.apache.activemq.store.journal.JournalPersistenceAdapter$4.call(JournalPersistenceAdapter.java:367)
at org.apache.activemq.store.journal.JournalPersistenceAdapter$4.call(JournalPersistenceAdapter.java:366)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
... 3 more



 All   Comments   Work Log   Change History   Subversion Commits   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.