> 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 =
>>> org.apache.activemq.util.ByteSequence@fa8cbc,
>>> 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 =
>>> org.apache.activemq.util.ByteSequence@1a881cc,
>>> 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
>