----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/623/ -----------------------------------------------------------
(Updated 2011-04-19 17:23:42.488669) Review request for qpid and Gordon Sim. Summary ------- QPID-3215: cached exchange reference can cause cluster inconsistencies if exchange is deleted/recreated SemanticState::route() uses a simple cache variable to avoid looking up the exchange for every message. However if the exchange in question is deleted, even if then recreated, this can cause inconsistencies in a cluster. Even in a stand-alone broker messages can be routed by a deleted exchange because of the cache. Fix is to mark the exchange deleted and check the status when using the cached exchange. Diffs ----- /trunk/qpid/cpp/src/qpid/broker/Exchange.h 1095059 /trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1095059 /trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1095059 /trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp 1095059 /trunk/qpid/cpp/src/tests/cluster_tests.py 1095059 Diff: https://reviews.apache.org/r/623/diff Testing ------- Thanks, Alan