QPID-3215: cached exchange reference can cause cluster inconsistencies if exchange is deleted/recreated
Review Request #623 - Created April 19, 2011 and submitted
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.