diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2017-12-20 15:26:51 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2017-12-20 15:26:51 +0000 |
commit | e26364f8c3b63ab19c6969eaceedf350f0a9327d (patch) | |
tree | 82c1e01caf6c613805979750d41915ca6ba43e62 /storage | |
parent | 431f9496782fa7d3d9c35abfcde2a2c1b3c55621 (diff) |
guard against empty set of nodes
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/vespa/storage/distributor/distributorcomponent.cpp | 5 |
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); } |