diff --git a/domain-server/src/DomainServer.cpp b/domain-server/src/DomainServer.cpp index be75ad61ee..9a69e3077e 100644 --- a/domain-server/src/DomainServer.cpp +++ b/domain-server/src/DomainServer.cpp @@ -2227,11 +2227,12 @@ static const QString REPLICATION_SETTINGS_KEY = "replication"; void DomainServer::updateDownstreamNodes() { auto settings = _settingsManager.getSettingsMap(); if (settings.contains(REPLICATION_SETTINGS_KEY)) { + auto nodeList = DependencyManager::get(); + std::vector downstreamNodesInSettings; auto replicationSettings = settings.value(REPLICATION_SETTINGS_KEY).toMap(); if (replicationSettings.contains("downstream_servers")) { auto serversSettings = replicationSettings.value("downstream_servers").toList(); - auto nodeList = DependencyManager::get(); std::vector knownDownstreamNodes; nodeList->eachNode([&](const SharedNodePointer& otherNode) { if (NodeType::isDownstream(otherNode->getType())) { @@ -2239,8 +2240,6 @@ void DomainServer::updateDownstreamNodes() { } }); - std::vector downstreamNodesInSettings; - for (auto& server : serversSettings) { auto downstreamServer = server.toMap(); @@ -2277,20 +2276,20 @@ void DomainServer::updateDownstreamNodes() { } } - std::vector nodesToKill; - nodeList->eachNode([&](const SharedNodePointer& otherNode) { - if (NodeType::isDownstream(otherNode->getType())) { - bool nodeInSettings = find(downstreamNodesInSettings.cbegin(), downstreamNodesInSettings.cend(), - otherNode->getPublicSocket()) != downstreamNodesInSettings.cend(); - if (!nodeInSettings) { - qDebug() << "Removing downstream node:" << otherNode->getUUID() << otherNode->getPublicSocket(); - nodesToKill.push_back(otherNode); - } + } + std::vector nodesToKill; + nodeList->eachNode([&](const SharedNodePointer& otherNode) { + if (NodeType::isDownstream(otherNode->getType())) { + bool nodeInSettings = find(downstreamNodesInSettings.cbegin(), downstreamNodesInSettings.cend(), + otherNode->getPublicSocket()) != downstreamNodesInSettings.cend(); + if (!nodeInSettings) { + qDebug() << "Removing downstream node:" << otherNode->getUUID() << otherNode->getPublicSocket(); + nodesToKill.push_back(otherNode); } - }); - for (auto& node : nodesToKill) { - handleKillNode(node); } + }); + for (auto& node : nodesToKill) { + handleKillNode(node); } } }