AMQ Store is the combination of the journal (which itself now uses Kaha) and Kaha to store message references

cheers,

Rob

http://rajdavies.blogspot.com/



On Oct 4, 2007, at 8:04 PM, Daryl Richter wrote:

On Oct 3, 2007, at 7:30 AM, Rob Davies wrote:

Do you get the same using AMQ store (the default in 5.0) - its the prefered store over kaha in ActiveMQ 5.0


Hmm. When I start a very recent (revision 581630) build of ActiveMQ with completely default config I get (among others) the following lines in my log:

INFO KahaStore - Kaha Store using data directory /usr/local/apache/activemq-5.0-581630/data/localhost/kr- store/state
INFO  AMQPersistenceAdapter          - Active data files: []
WARN AMQPersistenceAdapter - The ReferenceStore is not valid - recovering ... INFO KahaStore - Kaha Store successfully deleted data directory /usr/local/apache/activemq-5.0-581630/data/ localhost/kr-store/data INFO AMQPersistenceAdapter - Journal Recovery Started from: DataManager:(data-) INFO AMQPersistenceAdapter - Recovered 0 operations from redo log in 0.0080 seconds. INFO AMQPersistenceAdapter - Finished recovering the ReferenceStore INFO KahaStore - Kaha Store using data directory /usr/local/apache/activemq-5.0-581630/data/localhost/kr- store/data

So, which do I have?  AMQStore or Kaha?





cheers,

Rob

http://rajdavies.blogspot.com/



On Oct 3, 2007, at 8:50 AM, David Sitsky wrote:

I have discovered an issue with the latest activemq 5.0 (revision 581510) which seems to have been present for some time, at least for the last month.

I have an application using transactions, and kaha persistence, and two consumers feeding off a queue.

I sometimes see the same message being sent to two consumers. All transactions were committed (no rollbacks), and as you can see by the debug dump, the message has the same message-ID, but was delivered to two separate consumers, running on separate threads, using sync receives with a prefetch of 0, with separate sessions of course.

Is this a known problem? It doesn't always happen - seems to be a race condition. If I turn off persistence, I don't seem to see it.

Here is the message being delivered to consumer 1:

2007-10-03 17:21:37,310 [Worker 060bacd87f4a40a4867113e2e3e553dd] 85475 DEBUG org.apache.activemq.ActiveMQMessageConsumer - ID:tamarama-62436-1191396093006-2:2:3:2 received message: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:tamarama-62436-1191396093006-2:2:3:2, destination = queue://worker-items, message = ActiveMQObjectMessage {commandId = 50, responseRequired = false, messageId = ID:tamarama-62436-1191396093006-2:2:1:3:1, originalDestination = null, originalTransactionId = null, producerId = ID:tamarama-62436-1191396093006-2:2:1:3, destination = queue:// worker-items, transactionId = TX:ID:tamarama-62436-1191396093006-2:2:5, expiration = 0, timestamp = 1191396097286, arrival = 0, brokerInTime = 1191396097290, brokerOutTime = 1191396097303, correlationId = null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = [EMAIL PROTECTED], marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, droppable = false}, redeliveryCounter = 0}

Here is the same message (check the message ID) being delivered to consumer 2:

2007-10-03 17:21:37,422 [Worker 2c3169d1726b4781a423a239f65c7bd1] 85587 DEBUG org.apache.activemq.ActiveMQMessageConsumer - ID:tamarama-62436-1191396093006-2:2:1:2 received message: MessageDispatch {commandId = 0, responseRequired = false, consumerId = ID:tamarama-62436-1191396093006-2:2:1:2, destination = queue://worker-items, message = ActiveMQObjectMessage {commandId = 50, responseRequired = false, messageId = ID:tamarama-62436-1191396093006-2:2:1:3:1, originalDestination = null, originalTransactionId = null, producerId = ID:tamarama-62436-1191396093006-2:2:1:3, destination = queue:// worker-items, transactionId = TX:ID:tamarama-62436-1191396093006-2:2:5, expiration = 0, timestamp = 1191396097286, arrival = 0, brokerInTime = 1191396097290, brokerOutTime = 1191396097417, correlationId = null, replyTo = null, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = [EMAIL PROTECTED], marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, droppable = false}, redeliveryCounter = 0}

I'll need to do more investigations tomorrow, but if anybody has any ideas, I'd appreciate some insights.

--
Cheers,
David

Nuix Pty Ltd
Suite 79, 89 Jones St, Ultimo NSW 2007, Australia Ph: +61 2 9280 0699 Web: http://www.nuix.com Fax: +61 2 9212 6902


--
Daryl
http://itsallsemantics.com

"I see this as coming down to mutual respect. I want to respect the others I communicate with enough to tell them my truth without reservation and I want to respect them enough to listen to their truth. I want to respect their good intentions enough to believe that we can work past our disagreements."

    -- Kent Beck, 2006


Reply via email to