summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2017-12-20 15:26:51 +0000
committerArne Juul <arnej@yahoo-inc.com>2017-12-20 15:26:51 +0000
commite26364f8c3b63ab19c6969eaceedf350f0a9327d (patch)
tree82c1e01caf6c613805979750d41915ca6ba43e62 /storage
parent431f9496782fa7d3d9c35abfcde2a2c1b3c55621 (diff)
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);
}