summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorArne H Juul <arnej27959@users.noreply.github.com>2018-01-03 21:16:06 +0100
committerGitHub <noreply@github.com>2018-01-03 21:16:06 +0100
commit53155ff5b315eb55cb605ff7d92e47c073cfab5c (patch)
tree532d832b1a4edf1600bf42892de0b6618b8a4c95 /storage
parent5561f3976b1244d81398f380bc62f5bea28c7f19 (diff)
parente26364f8c3b63ab19c6969eaceedf350f0a9327d (diff)
Merge pull request #4510 from vespa-engine/arnej/remove-from-db-if-all-nodes-down
guard against empty set of nodes
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/distributor/distributorcomponent.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/storage/src/vespa/storage/distributor/distributorcomponent.cpp b/storage/src/vespa/storage/distributor/distributorcomponent.cpp
index f0643eec37e..ac6a2957052 100644
--- a/storage/src/vespa/storage/distributor/distributorcomponent.cpp
+++ b/storage/src/vespa/storage/distributor/distributorcomponent.cpp
@@ -281,6 +281,11 @@ DistributorComponent::updateBucketDatabase(
if (updateFlags & DatabaseUpdate::RESET_TRUSTED) {
dbentry->resetTrusted();
}
+ if (dbentry->getNodeCount() == 0) {
+ LOG(warning, "all nodes in changedNodes set (size %zu) are down, removing dbentry", changedNodes.size());
+ bucketSpace.getBucketDatabase().remove(bucket.getBucketId());
+ return;
+ }
bucketSpace.getBucketDatabase().update(dbentry);
}