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