[ 
https://issues.apache.org/jira/browse/QPID-5116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Moravec updated QPID-5116:
--------------------------------

    Attachment: QPID-5116.patch

Patch proposal. Though it works for the provided scenario (fromQueue has 900 
messages at the end), I am not sure if it does not break anything else.

I tested it also with durable queues & messages to check if "removed" dequeue 
has proper messages in, to call dequeueFromStore only to really moved messages. 
This was ok.
                
> QMF method "queueMoveMessages" loses one message when moving to full queue
> --------------------------------------------------------------------------
>
>                 Key: QPID-5116
>                 URL: https://issues.apache.org/jira/browse/QPID-5116
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.22
>            Reporter: Pavel Moravec
>            Priority: Minor
>         Attachments: QPID-5116.patch
>
>
> Invoking QMF method "queueMoveMessages" where destination queue can't handle 
> all moved messages due to its capacity, one message is lost.
> Reproducer:
> $ qpid-receive -a "tinyQueue; {create:always, node:{ x-declare:{ 
> arguments:{'qpid.max_count':100}}}}"
> $ qpid-send -a "fromQueue; {create:always}" -m 1000
> $ qpid-tool
> Management Tool for QPID
> qpid: list broker
> Object Summary:
>     ID   Created   Destroyed  Index
>     =======================================
>     117  08:11:52  -          amqp-broker
> qpid: call 117 queueMoveMessages fromQueue tinyQueue 300 {}
> qpid: resource-limit-exceeded: Policy exceeded on tinyQueue, policy: size: 
> max=104857600, current=1000; count: max=100, current=100; type=reject 
> (qpid/broker/QueuePolicy.cpp:92) (7) - {}
> qpid: quit
> Exiting...
> $ qpid-stat -q
> Queues
>   queue                                     dur  autoDel  excl  msg   msgIn  
> msgOut  bytes  bytesIn  bytesOut  cons  bind
>   
> =========================================================================================================================
>   3d03d063-4f1e-4cc2-822f-00d95d7e42e9:0.0       Y        Y        0     0    
>   0       0      0        0         1     2
>   fromQueue                                                      899  1.00k   
> 101    8.99k  10.0k    1.01k        0     1
>   tinyQueue                                                      100   100    
>   0    1.00k  1.00k       0         0     1
> $
> See fromQueue has dequeued 101 messages while tinyQueue enqueued just 100.
> (relevant discussion: 
> http://qpid.2158936.n2.nabble.com/QMF-method-quot-queueMoveMessages-quot-can-loose-one-message-td7597804.html)

--
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: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to