diff options
| author | Alan Conway <aconway@apache.org> | 2010-12-08 19:21:05 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2010-12-08 19:21:05 +0000 |
| commit | 91723b2f5449f4eab8fd4b6db745eb4d97ee7064 (patch) | |
| tree | f744829ba90693ba176bb10c71af4aa3340738b5 /cpp/src/qpid/cluster/UpdateDataExchange.h | |
| parent | ce09d14a88ba18f37e309bbe555b51e367b3da39 (diff) | |
| download | qpid-python-91723b2f5449f4eab8fd4b6db745eb4d97ee7064.tar.gz | |
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
Diffstat (limited to 'cpp/src/qpid/cluster/UpdateDataExchange.h')
| -rw-r--r-- | cpp/src/qpid/cluster/UpdateDataExchange.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/qpid/cluster/UpdateDataExchange.h b/cpp/src/qpid/cluster/UpdateDataExchange.h index 1c4022a4aa..27a98548f3 100644 --- a/cpp/src/qpid/cluster/UpdateDataExchange.h +++ b/cpp/src/qpid/cluster/UpdateDataExchange.h @@ -45,7 +45,7 @@ class UpdateDataExchange : public broker::Exchange static const std::string MANAGEMENT_SCHEMAS_KEY; static const std::string MANAGEMENT_DELETED_OBJECTS_KEY; - UpdateDataExchange(management::Manageable* parent, management::ManagementAgent*); + UpdateDataExchange(management::Manageable* parent); void route(broker::Deliverable& msg, const std::string& routingKey, const framing::FieldTable* args); @@ -68,12 +68,13 @@ class UpdateDataExchange : public broker::Exchange const qpid::framing::FieldTable*) { return false; } + void updateManagementAgent(management::ManagementAgent* agent); + private: - management::ManagementAgent* agent; - void managementAgents(const std::string&); - void managementSchemas(const std::string&); - void managementDeletedObjects(const std::string&); + std::string managementAgents; + std::string managementSchemas; + std::string managementDeletedObjects; }; }} // namespace qpid::cluster |
