From b4390fc33db0a0aad5a6ac5f69fb4ff188d1c892 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sun, 7 Mar 2021 16:23:25 +0000 Subject: Erase failed movers, in common place. --- searchcore/src/vespa/searchcore/proton/server/bucketmovejobv2.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'searchcore/src') diff --git a/searchcore/src/vespa/searchcore/proton/server/bucketmovejobv2.cpp b/searchcore/src/vespa/searchcore/proton/server/bucketmovejobv2.cpp index 28f5e3c7111..8b405a85bf8 100644 --- a/searchcore/src/vespa/searchcore/proton/server/bucketmovejobv2.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/bucketmovejobv2.cpp @@ -251,9 +251,12 @@ BucketMoveJobV2::checkIfMoverComplete(const BucketMover & mover) { bool needReschedule = mover.needReschedule(); if (bucketMoveComplete || needReschedule) { BucketId bucket = mover.getBucket(); - assert(mover.needReschedule() || _bucketsInFlight.contains(bucket)); + assert(needReschedule || _bucketsInFlight.contains(bucket)); _bucketsInFlight.erase(bucket); if (needReschedule) { + _movers.erase(std::remove_if(_movers.begin(), _movers.end(), + [bucket](const BucketMoverSP &cand) { return cand->getBucket() == bucket; }), + _movers.end()); _postponedUntilSafe.insert(bucket); } else { _modifiedHandler.notifyBucketModified(bucket); @@ -280,9 +283,6 @@ BucketMoveJobV2::cancelBucket(BucketId bucket) { auto inFlight = _bucketsInFlight.find(bucket); if (inFlight != _bucketsInFlight.end()) { inFlight->second->cancel(); - _movers.erase(std::remove_if(_movers.begin(), _movers.end(), - [bucket](const BucketMoverSP &mover) { return mover->getBucket() == bucket; }), - _movers.end()); checkIfMoverComplete(*inFlight->second); } } -- cgit v1.2.3