You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "William Henry (JIRA)" <qp...@incubator.apache.org> on 2008/09/22 17:04:44 UTC

[jira] Created: (QPID-1290) Add ability to move messages from one queue to another

Add ability to move messages from one queue to another
------------------------------------------------------

                 Key: QPID-1290
                 URL: https://issues.apache.org/jira/browse/QPID-1290
             Project: Qpid
          Issue Type: New Feature
          Components: C++ Broker
            Reporter: William Henry
             Fix For: M4
         Attachments: move_messages_diff.txt

There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.

The changes have been made to the Broker and Queue class.  

With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 

The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)

Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.

This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>

This works fine.

Questions:
1) Is the schema name queueMoveMessages too long?
2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (QPID-1290) Add ability to move messages from one queue to another

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Ross resolved QPID-1290.
----------------------------

    Resolution: Fixed

Applied, tested, and committed William's patch

> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>            Assignee: Ted Ross
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt, movemessages_diff2.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1290) Add ability to move messages from one queue to another

Posted by "William Henry (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Henry updated QPID-1290:
--------------------------------

    Attachment: move_messages_diff.txt

Here is the diff file showing differences to the management-schema.xml file and the Broker and Queue classes files.

> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (QPID-1290) Add ability to move messages from one queue to another

Posted by "William Henry (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633734#action_12633734 ] 

whenry edited comment on QPID-1290 at 9/23/08 6:58 AM:
--------------------------------------------------------------

I forgot to mention that this functionality moves messages from the head of the queue.  i..e move qty number of messages from the head of src_queue to dest_queue.

      was (Author: whenry):
    I forgot to mention that this functionality move messages from the head of the queue.  i..e move qty number of messages from the head of src_queue to dest_queue.
  
> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1290) Add ability to move messages from one queue to another

Posted by "William Henry (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Henry updated QPID-1290:
--------------------------------

    Attachment: movemessages_diff2.txt

Rebased and fixed Queue::move's dequeue call to use a QueuedMessage.

> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>            Assignee: Ted Ross
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt, movemessages_diff2.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (QPID-1290) Add ability to move messages from one queue to another

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ted Ross reassigned QPID-1290:
------------------------------

    Assignee: Ted Ross

> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>            Assignee: Ted Ross
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1290) Add ability to move messages from one queue to another

Posted by "William Henry (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633734#action_12633734 ] 

William Henry commented on QPID-1290:
-------------------------------------

I forgot to mention that this functionality move messages from the head of the queue.  i..e move qty number of messages from the head of src_queue to dest_queue.

> Add ability to move messages from one queue to another
> ------------------------------------------------------
>
>                 Key: QPID-1290
>                 URL: https://issues.apache.org/jira/browse/QPID-1290
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>            Reporter: William Henry
>             Fix For: M4
>
>         Attachments: move_messages_diff.txt
>
>
> There are some administrative use cases where it is necessary to move messages off of one queue and place on another. Perhaps the initial queue has some bad messages that need to be examined, perhaps the initial queue is getting inundated.
> The changes have been made to the Broker and Queue class.  
> With Broker you can call queueMoveMessages and pass the name of the source queue and the destination queue along with the quantity of messages to be moved. A 0 (zero) for the message quantity means move all messages. 
> The Broker::queueMoveMessages looks up the queue pointers and calls move on the source Queue, passing the destination queue pointer and the quantity.  (The Queue class has move efficient private methods for handling removing the messages.)
> Move will return the number of messages actually used. Unfortunately  queueMoveMessages  returns a status and this quantity actually moved is lost.
> This enhancement allows an administrator to move messages form one queue to another using qpid-tool using:
> call <broker-ID> queueMoveMessages <src-queue> <dest-queue> <qty>
> This works fine.
> Questions:
> 1) Is the schema name queueMoveMessages too long?
> 2) Perhaps it would be nice to return the quantity instead of just STATUS_OK but that might mess up the framework. Mayeb have an extra out parameter that has the actually quantity moved?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.