summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@oath.com>2018-03-06 13:04:56 +0000
committerTor Brede Vekterli <vekterli@oath.com>2018-03-06 14:31:04 +0000
commit01a5247ef6fb29b6639f7c509c9ebe2fca92c517 (patch)
treeb3e04308686691bca68425f5fb730ea53f8f41ef
parent1cf9712a06eac0606c9f0b7509af07e838b4e2c5 (diff)
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.
-rw-r--r--storage/src/vespa/storage/storageserver/communicationmanager.cpp2
1 files changed, 1 insertions, 1 deletions
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());