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

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


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

(Updated 2011-09-27 20:26:22.564151)


Review request for qpid, Alan Conway and Gordon Sim.


Changes
-------

Update to incorporate feedback from Andrew and Gordon.
  - make MessageAllocator pure virtual
  - instantiate a default allocator (FifoAllocator) for dispatching the head 
available msg.
  - pass reference to Messages rather than Queue to allocator constructors.
  - remove lock arguments

I left the name unchanged for now - I'm working on a separate set of patches 
(post 0.14) that will put a little more "meat" on the MessageAllocator's bones 
and we can give it a more descriptive name then.

I'd like to get these changes onto trunk before the window closes for 0.14.


Summary
-------

This implements QPID-3346.  I'd like to get this onto trunk.

This patch does not include optimizations I have made - I'll be reviewing & 
submitting these separately as they involve more intrusive changes to the Queue 
API. Ignore for now the TODO comments in the MessageGroups source files.

Performance testing suggests that this patch has negligible effect on legacy 
traffic performance (non-grouped traffic):

current trunk:
[kgiusti@mrg42 tests]$ ./qpid-perftest -b 20.0.10.43 --iterations 5 --count 
500000 --npubs=1 --nsubs=1 --qt=1 --summary
58096.5 56556.7 113124  110.473
62659.7 62195.4 124381  121.466
54278.2 54136.2 108265  105.728
55506.3 55501   110505  107.915
62176.8 58019.1 115500  112.793
Averages: 
58543.5 57281.7 114355  111.675

+ this patch:
[kgiusti@mrg42 tests]$ ./qpid-perftest -b 20.0.10.43 --iterations 5 --count 
500000 --npubs=1 --nsubs=1 --qt=1 --summary
58346.1 55008.2 110510  107.92
59309.8 58747.5 117482  114.729
61323.3 58222.1 116436  113.707
57603   57600.4 115193  112.493
56091.8 56086.4 111667  109.05
Averages: 
58534.8 57132.9 114258  111.58


This addresses bug qpid-3346.
    https://issues.apache.org/jira/browse/qpid-3346


Diffs (updated)
-----

  /trunk/qpid/cpp/src/CMakeLists.txt 1172628 
  /trunk/qpid/cpp/src/Makefile.am 1172628 
  /trunk/qpid/cpp/src/qpid/broker/Broker.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/Consumer.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/FifoAllocator.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/FifoAllocator.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/MessageAllocator.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/Messages.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/Queue.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/QueueEvents.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/QueueObserver.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/QueuePolicy.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/SemanticState.h 1172628 
  /trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/broker/ThresholdAlerts.h 1172628 
  /trunk/qpid/cpp/src/qpid/cluster/Connection.cpp 1172628 
  /trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp 1172628 
  /trunk/qpid/cpp/src/tests/CMakeLists.txt 1172628 
  /trunk/qpid/cpp/src/tests/Makefile.am 1172628 
  /trunk/qpid/cpp/src/tests/QueueTest.cpp 1172628 
  /trunk/qpid/cpp/src/tests/cluster_tests.py 1172628 
  /trunk/qpid/cpp/src/tests/msg_group_test.cpp PRE-CREATION 
  /trunk/qpid/cpp/src/tests/qpid-send.cpp 1172628 
  /trunk/qpid/cpp/src/tests/run_msg_group_tests PRE-CREATION 
  /trunk/qpid/cpp/src/tests/run_msg_group_tests_soak PRE-CREATION 
  /trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java 
1172628 
  /trunk/qpid/specs/management-schema.xml 1172628 
  /trunk/qpid/tests/src/py/qpid_tests/broker_0_10/management.py 1172628 

Diff: https://reviews.apache.org/r/1980/diff


Testing
-------

new unit tests & tools added.   Built cpp & java on Windows & various linux 
distros.


Thanks,

Kenneth


                
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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-subscr...@qpid.apache.org

Reply via email to