qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Conway" <acon...@redhat.com>
Subject Re: Review Request: QPID-3215: cached exchange reference can cause cluster inconsistencies if exchange is deleted/recreated
Date Tue, 19 Apr 2011 17:23:42 GMT

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


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message