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

Review request for qpid, Gordon Sim, Kenneth Giusti, Andy Goldstein, and Jason 
Dillaman.


Description
-------

QPID-4394: HA QMF events out of order

QMF create/delete events for auto-delete queues can be generated out-of-order
because they are not regulated by any lock. This creates problems for HA
replication. This commit does 2 things:

1. Dispatch QMF events via a pollable queue. Events are encoded in the thread
calling raiseEvent then put on a PollableQueue to be dispatched in a separate 
thread.
This allows us to move the raiseEvent calls inside registry locks to ensure
they are ordered.

2. Move queue create and delete raiseEvent calls inside the queue registry
lock so they are executed in order.


Diffs
-----

  /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1402462 
  /trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h 1402462 
  /trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp 1402462 
  /trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp 1402462 
  /trunk/qpid/cpp/src/qpid/ha/HaBroker.cpp 1402462 
  /trunk/qpid/cpp/src/qpid/management/ManagementAgent.h 1402462 
  /trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp 1402462 
  /trunk/qpid/cpp/src/tests/ha_tests.py 1402462 

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


Testing
-------


Thanks,

Alan Conway

Reply via email to