qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-3346) Support message grouping with stricted sequence consumption across multiple consumers.
Date Tue, 09 Aug 2011 12:31:28 GMT

    [ https://issues.apache.org/jira/browse/QPID-3346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13081595#comment-13081595
] 

jiraposter@reviews.apache.org commented on QPID-3346:
-----------------------------------------------------



bq.  On 2011-08-08 10:11:17, Gordon Sim wrote:
bq.  > /branches/qpid-3346/qpid/cpp/src/qpid/broker/LegacyLVQ.cpp, line 39
bq.  > <https://reviews.apache.org/r/1312/diff/1/?file=30946#file30946line39>
bq.  >
bq.  >     The purpose of the check is to ensure that an acquire attempt for a message
that has since been replaced, does not acquire the message that has replaced it instead.
bq.  >     
bq.  >     I believe it is still necessary, though I concede the form is ugly and unintuitive.
bq.  
bq.  Kenneth Giusti wrote:
bq.      Agreed that it is necessary for LVQ, but the abstract api for 'Messages::remove'
can't explicitly enforce that the caller supply the actual target msg, just the position.
 Given that, it's pretty easy for the caller to get this wrong without discovering it (which
actually happened to me - thank goodness for unit tests :).
bq.      
bq.      And the "move message/purge message" management operations probably could use a remove
method that doesn't necessitate a preceding message find().  
bq.      
bq.      I'm thinking of two different message-removal use-cases:
bq.      
bq.      bool Messages::remove( position, QueuedMessage *result) - remove msg at position,
return true and set result if found
bq.      bool Messages::remove( const QueuedMessage& target ) - remove target msg, return
true if msg was found.   This variant could be used by 'acquire' or other paths that have
already retrieved the QueuedMessage.
bq.      
bq.      Although, defining a iterator for the Messages class probably renders this whole
issue moot.

Yes, I think you are right that the confusion comes from trying to use the same codepath for
these two cases and separating them would be clearer.


- Gordon


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1312/#review1317
-----------------------------------------------------------


On 2011-08-05 20:46:15, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1312/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-08-05 20:46:15)
bq.  
bq.  
bq.  Review request for qpid.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Some initial refactoring of Queue/Consumer interface to allow for message grouping support.
 Very preliminary.
bq.  
bq.  
bq.  This addresses bug qpid-3346.
bq.      https://issues.apache.org/jira/browse/qpid-3346
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/Consumer.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/DeliveryRecord.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/LegacyLVQ.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/Queue.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/Queue.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/QueueEvents.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/QueueFlowLimit.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/QueueObserver.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/QueuePolicy.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/SemanticState.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/SemanticState.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/broker/ThresholdAlerts.h 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/qpid/cluster/Connection.cpp 1144324 
bq.    /branches/qpid-3346/qpid/cpp/src/tests/QueueTest.cpp 1144324 
bq.  
bq.  Diff: https://reviews.apache.org/r/1312/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  minimal - passes unit tests on linux.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.



> Support message grouping with stricted sequence consumption across multiple consumers.
> --------------------------------------------------------------------------------------
>
>                 Key: QPID-3346
>                 URL: https://issues.apache.org/jira/browse/QPID-3346
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker
>    Affects Versions: 0.12
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: 0.14
>
>         Attachments: UI.txt, msg_groups_0.2.txt
>
>
> This feature is described in the attached QIP as Policy #2: Sequenced Consumers.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message