[
https://issues.apache.org/jira/browse/QPID-5124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Moravec updated QPID-5124:
--------------------------------
Attachment: QPID-5124.patch
Trivial patch
When removing old message from LVQ due to push of a new one with same LVQ key
value, call dequeueFromStore for the old message _only_ if the old message is
durable ;-)
> durable LVQ raises journal error when only transient messages are sent
> ----------------------------------------------------------------------
>
> Key: QPID-5124
> URL: https://issues.apache.org/jira/browse/QPID-5124
> Project: Qpid
> Issue Type: Bug
> Components: C++ Broker
> Affects Versions: 0.24
> Reporter: Pavel Moravec
> Labels: easyfix, patch
> Attachments: QPID-5124.patch
>
>
> Description of problem:
> Sending+consuming transient messages to/from a durable LVQ queue raises
> "Dequeuing message with null persistence Id" journal error on producer.
> Version-Release number of selected component (if applicable):
> 0.24
> How reproducible:
> 100%
> Steps to Reproduce:
> 1. In the first terminal:
> qpid-receive -a "myLVQ; {create:always, node:{ durable:true, x-declare: {
> arguments:{'qpid.flow_stop_count':0, 'qpid.max_count':0,
> 'qpid.last_value_queue':True, 'qpid.last_value_queue_key':'qpid.LVQ_key',
> 'qpid.file_count':64, 'qpid.policy_type':'reject', 'qpid.file_size':16,
> 'qpid.flow_resume_count':0, 'qpid.flow_stop_size':0,
> 'qpid.max_size':104857600, 'qpid.flow_resume_size':0}}}}" -f -m 100000
> --print-content=no
> 2. In the second terminal:
> qpid-send -a "myLVQ" -m 1000000 --group-key=qpid.LVQ_key --group-size=10
> --content-size=100
> Actual results:
> qpid-send is disconnected by the broker with error:
> 2013-09-09 21:24:59 [Client] warning Broker closed connection: 501, Queue
> "myLVQ": Dequeuing message with null persistence Id.
> (/root/rpmbuild/BUILD/qpid-0.22/cpp/src/qpid/legacystore/MessageStoreImpl.cpp:1370)
> Expected results:
> No such error.
> Additional info:
> - everytime, the queue has these stats after the error:
> acquires:3, bindingCount:1, bindingCountHigh:1, bindingCountLow:1,
> byteDepth:100, byteFtdDepth:0, byteFtdDequeues:0, byteFtdEnqueues:0,
> bytePersistDequeues:0, bytePersistEnqueues:0, byteTotalDequeues:100,
> byteTotalEnqueues:200, byteTxnDequeues:0, byteTxnEnqueues:0, consumerCount:0,
> consumerCountHigh:0, consumerCountLow:0, discardsLvq:1, discardsOverflow:0,
> discardsPurge:0, discardsRing:0, discardsSubscriber:0, discardsTtl:0,
> flowStopped:False, flowStoppedCount:0, messageLatencyAvg:0,
> messageLatencyCount:0, messageLatencyMax:0, messageLatencyMin:0, msgDepth:1,
> msgFtdDepth:0, msgFtdDequeues:0, msgFtdEnqueues:0, msgPersistDequeues:0,
> msgPersistEnqueues:0, msgTotalDequeues:1, msgTotalEnqueues:2,
> msgTxnDequeues:0, msgTxnEnqueues:0, redirectPeer:, redirectSource:False,
> releases:1, reroutes:0, unackedMessages:0, unackedMessagesHigh:0,
> unackedMessagesLow:0
> I.e. one msg discarded due to LVQ, 2 enqueues, 1 dequeue (the discard), BUT 3
> acquires???
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]