You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by mg...@apache.org on 2012/08/06 22:04:59 UTC

svn commit: r1369960 - /qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp

Author: mgoulish
Date: Mon Aug  6 20:04:58 2012
New Revision: 1369960

URL: http://svn.apache.org/viewvc?rev=1369960&view=rev
Log:
QPID-4194 : re-enable queue events in CATCHUP state
pavel moravec's fix -- without this, newbie broker with a replication  
queue will not replicate messages received during CATCHUP.


Modified:
    qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp?rev=1369960&r1=1369959&r2=1369960&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/Cluster.cpp Mon Aug  6 20:04:58 2012
@@ -615,7 +615,6 @@ void Cluster::configChange (
 void Cluster::setReady(Lock&) {
     state = READY;
     mcast.setReady();
-    broker.getQueueEvents().enable();
     enableClusterSafe();    // Enable cluster-safe assertions.
 }
 
@@ -979,6 +978,13 @@ void Cluster::checkUpdateIn(Lock& l) {
         map = *updatedMap;
         mcast.mcastControl(ClusterReadyBody(ProtocolVersion(), myUrl.str()), self);
         state = CATCHUP;
+        /* In CATCHUP mode the update has finished, and we are consuming 
+        ** whatever backlog of messages has built up during the update.  
+        ** We should enable queue events here, or messages that are received 
+        ** during this phase will not be replicated properly. ( If there are 
+        ** relevant replication queues. )
+        */
+        broker.getQueueEvents().enable();
         memberUpdate(l);
         // Must be called *after* memberUpdate() to avoid sending an extra update.
         failoverExchange->setReady();



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org