----------------------------------------------------------- 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
