From 0755d1b9d1a387976bdca6c1155724f76072a5c5 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Fri, 6 Sep 2013 09:01:34 +0200 Subject: [PATCH] cluster: Fix acknowledgement bug. --- components/cluster/clustercomponent.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/components/cluster/clustercomponent.cpp b/components/cluster/clustercomponent.cpp index 039e966f3..8f6d0779a 100644 --- a/components/cluster/clustercomponent.cpp +++ b/components/cluster/clustercomponent.cpp @@ -770,8 +770,6 @@ void ClusterComponent::AcknowledgementClearedHandler(const Service::Ptr& service void ClusterComponent::MessageHandler(const Endpoint::Ptr& sender, const Dictionary::Ptr& message) { - RelayMessage(sender, message, true); - if (sender->GetRemoteLogPosition() + 10 < message->Get("ts")) { Dictionary::Ptr lparams = boost::make_shared(); lparams->Set("log_position", message->Get("ts")); @@ -785,9 +783,11 @@ void ClusterComponent::MessageHandler(const Endpoint::Ptr& sender, const Diction sender->SetRemoteLogPosition(message->Get("ts")); - Log(LogInformation, "cluster", "Acknowledging log position: " + Utility::FormatDateTime("%Y/%m/%d %H:%M:%S", message->Get("ts"))); + Log(LogInformation, "cluster", "Acknowledging log position for identity '" + sender->GetName() + "': " + Utility::FormatDateTime("%Y/%m/%d %H:%M:%S", message->Get("ts"))); } + RelayMessage(sender, message, true); + if (message->Get("method") == "cluster::HeartBeat") { sender->SetSeen(Utility::GetTime()); return; @@ -999,12 +999,13 @@ void ClusterComponent::MessageHandler(const Endpoint::Ptr& sender, const Diction String identity = params->Get("identity"); if (!accept) { - Log(LogWarning, "cluster", "Ignoring cluster::Config message from endpoint '" + sender->GetName() + "' for identity '" + identity + "'."); + Log(LogWarning, "cluster", "Ignoring config update from endpoint '" + sender->GetName() + "' for identity '" + identity + "'."); return; } + Log(LogInformation, "cluster", "Processing config update for identity '" + identity + "'."); + String dir = GetClusterDir() + "config/" + SHA256(identity); - Log(LogInformation, "cluster", "Creating cluster config directory: " + dir); if (mkdir(dir.CStr(), 0700) < 0 && errno != EEXIST) { BOOST_THROW_EXCEPTION(posix_error() << boost::errinfo_api_function("localtime")