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: ConfigurationObserver: allow plugins to observe configuration (aka wiring) changes.
Date Wed, 30 May 2012 13:11:45 GMT

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

(Updated 2012-05-30 13:11:45.840318)


Review request for qpid, Andrew Stitcher and Gordon Sim.


Changes
-------

Fix error in previous patch.


Summary
-------

The HA plugin needs to know when queues are created. This patch creates a ConfigurationObserver
to observe queue and exchange create/delete and bind/unbind.
The MessageStore API has these hooks but you can't have multiple MessageStores on a broker,
also calls to the MessageStore interface are conditional on durability which is not what I
want for HA. The ConfigurationObserver calls are placed close to the corresponding MessageStore
calls, except that the create() calls are placed earlier - just before the queue/exchange
is stored in the Registry. That allows an Observer to effectively abort the creation of the
queue/exchange (HA doesn't actually need this but it seemed like it might be useful)

How does this look? Any suggestions for better ways to do it?


Diffs (updated)
-----

  /trunk/qpid/cpp/src/Makefile.am 1343762 
  /trunk/qpid/cpp/src/qpid/broker/Broker.h 1343762 
  /trunk/qpid/cpp/src/qpid/broker/Broker.cpp 1343762 
  /trunk/qpid/cpp/src/qpid/broker/ConfigurationObserver.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/ConfigurationObservers.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/ConnectionObservers.h 1343762 
  /trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.cpp 1343762 
  /trunk/qpid/cpp/src/qpid/broker/Observers.h PRE-CREATION 
  /trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp 1343762 
  /trunk/qpid/cpp/src/qpid/ha/Backup.cpp 1343762 
  /trunk/qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp 1343762 
  /trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp 1343762 
  /trunk/qpid/doc/book/src/java-broker/Broker-Configuration-Guide.xml 1343762 
  /trunk/qpid/doc/book/src/java-broker/Producer-Flow-Control.xml 1343762 
  /trunk/qpid/doc/book/src/java-broker/Qpid-Java-FAQ.xml 1343762 
  /trunk/qpid/doc/book/src/programming/Programming-In-Apache-Qpid-Book.xml 1343762 
  /trunk/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreQuotaEventsTest.java
1343762 
  /trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java
1343762 
  /trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/store/MessageStoreQuotaEventsTestBase.java
1343762 
  /trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java
1343762 
  /trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_8_0.java
1343762 
  /trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java 1343762 
  /trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java 1343762

  /trunk/qpid/java/client/src/main/java/org/apache/qpid/jms/FailoverPolicy.java 1343762 
  /trunk/qpid/java/common/src/main/java/org/apache/qpid/configuration/ClientProperties.java
1343762 
  /trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java 1343762 
  /trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/failover/FailoverBehaviourTest.java
1343762 
  /trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java
1343762 
  /trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/store/StoreOverfullTest.java
1343762 
  /trunk/qpid/java/test-profiles/Java010Excludes 1343762 
  /trunk/qpid/java/test-profiles/JavaTransientExcludes 1343762 

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


Testing
-------

make check


Thanks,

Alan


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