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