summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2023-08-21 13:28:28 +0000
committerTor Brede Vekterli <vekterli@yahooinc.com>2023-08-21 13:28:28 +0000
commit0f9f11da84db6a2ec1190758c3e60d6861c23438 (patch)
treea397ecef82e9a2fc1318d018a1b2d8f9c3eaa659 /storage
parent538d79ce480069322c04ca87436b80e0146e2dfa (diff)
Early return of empty node vector when fully canceled
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/distributor/cancelled_replicas_pruner.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/storage/src/vespa/storage/distributor/cancelled_replicas_pruner.cpp b/storage/src/vespa/storage/distributor/cancelled_replicas_pruner.cpp
index 5e1bc402fc4..f453a722d2c 100644
--- a/storage/src/vespa/storage/distributor/cancelled_replicas_pruner.cpp
+++ b/storage/src/vespa/storage/distributor/cancelled_replicas_pruner.cpp
@@ -4,6 +4,9 @@
namespace storage::distributor {
std::vector<BucketCopy> prune_cancelled_nodes(std::span<const BucketCopy> replicas, const CancelScope& cancel_scope) {
+ if (cancel_scope.fully_cancelled()) {
+ return {};
+ }
std::vector<BucketCopy> pruned_replicas;
// Expect that there will be an input entry for each cancelled node in the common case.
pruned_replicas.reserve((replicas.size() >= cancel_scope.cancelled_nodes().size())