cluster-zone: consider own zone connected if there's only one endpoint

... because in this case only the checking node can be (not) connected to itself.

refs #8570
This commit is contained in:
Alexander A. Klimov 2021-01-14 17:28:46 +01:00
parent 5f548c8f89
commit b90b77b275
1 changed files with 26 additions and 18 deletions

View File

@ -139,7 +139,10 @@ void ClusterZoneCheckTask::ScriptFunc(const Checkable::Ptr& checkable, const Che
double bytesSentPerSecond = 0;
double bytesReceivedPerSecond = 0;
for (const Endpoint::Ptr& endpoint : zone->GetEndpoints()) {
{
auto endpoints (zone->GetEndpoints());
for (const Endpoint::Ptr& endpoint : endpoints) {
if (endpoint->GetConnected())
connected = true;
@ -160,6 +163,11 @@ void ClusterZoneCheckTask::ScriptFunc(const Checkable::Ptr& checkable, const Che
bytesReceivedPerSecond += endpoint->GetBytesReceivedPerSecond();
}
if (!connected && endpoints.size() == 1u && *endpoints.begin() == Endpoint::GetLocalEndpoint()) {
connected = true;
}
}
ServiceState state;
String output;