From 01a5247ef6fb29b6639f7c509c9ebe2fca92c517 Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Tue, 6 Mar 2018 13:04:56 +0000 Subject: Must explicitly handle setdistributionstates method on reply processing Otherwise ends up sending unexpected return values to the cluster controller, which silently fails during response processing. End result is continuous transmission of cluster states, as the controller does not understand that the state has been ACKed by the node. --- storage/src/vespa/storage/storageserver/communicationmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'storage/src') diff --git a/storage/src/vespa/storage/storageserver/communicationmanager.cpp b/storage/src/vespa/storage/storageserver/communicationmanager.cpp index 5b927d36bb5..b9721635c24 100644 --- a/storage/src/vespa/storage/storageserver/communicationmanager.cpp +++ b/storage/src/vespa/storage/storageserver/communicationmanager.cpp @@ -635,7 +635,7 @@ CommunicationManager::sendDirectRPCReply( serializeNodeState(gns, ns, true, true, false); request.addReturnString(ns.str().c_str()); LOGBP(debug, "Sending getnodestate2 reply with no host info."); - } else if (requestName == "setsystemstate2") { + } else if (requestName == "setsystemstate2" || requestName == "setdistributionstates") { // No data to return } else { request.addReturnInt(reply->getResult().getResult()); -- cgit v1.2.3