From 91723b2f5449f4eab8fd4b6db745eb4d97ee7064 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 8 Dec 2010 19:21:05 +0000 Subject: Defer update of managaement agent to end of update process. Move updating of the management agent to the very end of the update process, after all objects used by the update process itself have been deleted. Before the fix deletions from the update process itself (deleting the qpid.cluster-update queue and its binding to the default exchange) were sporadically appearing as extra delete messages on the updatees management agent and causing inconsistency. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1043621 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/Connection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/cluster/Connection.cpp') diff --git a/cpp/src/qpid/cluster/Connection.cpp b/cpp/src/qpid/cluster/Connection.cpp index 7406d64bda..2a98800484 100644 --- a/cpp/src/qpid/cluster/Connection.cpp +++ b/cpp/src/qpid/cluster/Connection.cpp @@ -463,15 +463,15 @@ void Connection::membership(const FieldTable& joiners, const FieldTable& members const framing::SequenceNumber& frameSeq) { QPID_LOG(debug, cluster << " incoming update complete on connection " << *this); - cluster.updateInDone(ClusterMap(joiners, members, frameSeq)); updateIn.consumerNumbering.clear(); closeUpdated(); + cluster.updateInDone(ClusterMap(joiners, members, frameSeq)); } void Connection::retractOffer() { QPID_LOG(info, cluster << " incoming update retracted on connection " << *this); - cluster.updateInRetracted(); closeUpdated(); + cluster.updateInRetracted(); } void Connection::closeUpdated() { -- cgit v1.2.1