summaryrefslogtreecommitdiffstats
path: root/searchcore/src
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@oath.com>2017-10-06 12:17:10 +0000
committerTor Egge <Tor.Egge@oath.com>2017-10-06 12:17:10 +0000
commit31b70856e294a23b6a37a86225a521cb06c58c1a (patch)
treeefba0c54be842aec5d748a411532f95ca9b046c1 /searchcore/src
parent3e0bf2f6eba466f11dd265690b78e00b9ecf14c9 (diff)
Use propagated bucket space instead of place holder.
Diffstat (limited to 'searchcore/src')
-rw-r--r--searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp4
-rw-r--r--searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/bucketmovejob.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/bucketmovejob.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp6
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h1
7 files changed, 20 insertions, 8 deletions
diff --git a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
index 5dbf5d523bc..b0be3d01d8a 100644
--- a/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/documentbucketmover/documentbucketmover_test.cpp
@@ -15,6 +15,7 @@
#include <vespa/searchcore/proton/test/disk_mem_usage_notifier.h>
#include <vespa/searchcore/proton/test/test.h>
#include <vespa/searchlib/index/docbuilder.h>
+#include <vespa/persistence/spi/test.h>
#include <vespa/vespalib/testkit/testapp.h>
using namespace proton;
@@ -31,6 +32,7 @@ using search::index::DocBuilder;
using search::index::Schema;
using storage::spi::BucketInfo;
using storage::spi::Timestamp;
+using storage::spi::test::makeBucketSpace;
using vespalib::make_string;
using BlockedReason = IBlockableMaintenanceJob::BlockedReason;
@@ -622,7 +624,7 @@ ControllerFixtureBase::ControllerFixtureBase(const BlockableMaintenanceJobConfig
_bmj(_calc, _moveHandler, _modifiedHandler, _ready._subDb,
_notReady._subDb, _fbh, _bucketCreateNotifier, _clusterStateHandler, _bucketHandler,
_diskMemUsageNotifier, blockableConfig,
- "test"),
+ "test", makeBucketSpace()),
_runner(_bmj)
{
}
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
index 0b48686bbdd..559dbb240a8 100644
--- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp
@@ -1,5 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/persistence/spi/test.h>
#include <vespa/searchcore/proton/attribute/attribute_usage_filter.h>
#include <vespa/searchcore/proton/attribute/i_attribute_manager.h>
#include <vespa/searchcore/proton/common/doctypename.h>
@@ -53,6 +54,7 @@ using search::IDestructorCallback;
using search::SerialNum;
using storage::spi::BucketInfo;
using storage::spi::Timestamp;
+using storage::spi::test::makeBucketSpace;
using vespalib::Slime;
using vespalib::makeClosure;
using vespalib::makeTask;
@@ -962,7 +964,7 @@ MaintenanceControllerFixture::injectMaintenanceJobs()
{
if (_injectDefaultJobs) {
MaintenanceJobsInjector::injectJobs(_mc, *_mcCfg, _fh, _gsp,
- _lscHandlers, _fh, _mc, _bucketCreateNotifier, _docTypeName.getName(),
+ _lscHandlers, _fh, _mc, _bucketCreateNotifier, _docTypeName.getName(), makeBucketSpace(),
_fh, _fh, _bmc, _clusterStateHandler, _bucketHandler,
_calc,
_diskMemUsageNotifier,
diff --git a/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.cpp b/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.cpp
index 7320b48140e..cb929e0a6c7 100644
--- a/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.cpp
@@ -67,7 +67,7 @@ BucketMoveJob::checkBucket(const BucketId &bucket,
if (_calc->nodeRetired() && !isActive) {
return;
}
- const bool shouldBeReady = _calc->shouldBeReady(document::Bucket(document::BucketSpace::placeHolder(), bucket));
+ const bool shouldBeReady = _calc->shouldBeReady(document::Bucket(_bucketSpace, bucket));
const bool wantReady = shouldBeReady || isActive;
LOG(spam, "checkBucket(): bucket(%s), shouldBeReady(%s), active(%s)",
bucket.toString().c_str(), bool2str(shouldBeReady), bool2str(isActive));
@@ -160,7 +160,8 @@ BucketMoveJob(const IBucketStateCalculator::SP &calc,
IBucketStateChangedNotifier &bucketStateChangedNotifier,
IDiskMemUsageNotifier &diskMemUsageNotifier,
const BlockableMaintenanceJobConfig &blockableConfig,
- const vespalib::string &docTypeName)
+ const vespalib::string &docTypeName,
+ document::BucketSpace bucketSpace)
: BlockableMaintenanceJob("move_buckets." + docTypeName, 0.0, 0.0, blockableConfig),
IClusterStateChangedHandler(),
IBucketFreezeListener(),
@@ -177,6 +178,7 @@ BucketMoveJob(const IBucketStateCalculator::SP &calc,
_scanPos(),
_scanPass(FIRST_SCAN_PASS),
_endPos(),
+ _bucketSpace(bucketSpace),
_delayedBuckets(),
_delayedBucketsFrozen(),
_frozenBuckets(frozenBuckets),
@@ -213,7 +215,7 @@ BucketMoveJob::maybeCancelMover(DocumentBucketMover &mover)
if (!mover.bucketDone()) {
bool ready = mover.getSource() == &_ready;
if (isBlocked() ||
- _calc->shouldBeReady(document::Bucket(document::BucketSpace::placeHolder(), mover.getBucket())) == ready) {
+ _calc->shouldBeReady(document::Bucket(_bucketSpace, mover.getBucket())) == ready) {
mover.cancel();
}
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.h b/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.h
index 6b43af9d4c0..7147613caee 100644
--- a/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.h
+++ b/searchcore/src/vespa/searchcore/proton/server/bucketmovejob.h
@@ -91,6 +91,7 @@ private:
ScanPosition _scanPos;
uint32_t _scanPass;
ScanPosition _endPos;
+ document::BucketSpace _bucketSpace;
typedef std::set<document::BucketId> DelayedBucketSet;
@@ -147,7 +148,8 @@ public:
IBucketStateChangedNotifier &bucketStateChangedNotifier,
IDiskMemUsageNotifier &diskMemUsageNotifier,
const BlockableMaintenanceJobConfig &blockableConfig,
- const vespalib::string &docTypeName);
+ const vespalib::string &docTypeName,
+ document::BucketSpace bucketSpace);
virtual ~BucketMoveJob();
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
index e02a6eb7ee3..d0ff0832ce5 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
@@ -914,6 +914,7 @@ DocumentDB::injectMaintenanceJobs(const DocumentDBMaintenanceConfig &config)
_maintenanceController, // IFrozenBucketHandler
_subDBs.getBucketCreateNotifier(),
_docTypeName.getName(),
+ _bucketSpace,
_feedHandler, // IPruneRemovedDocumentsHandler
_feedHandler, // IDocumentMoveHandler
_clusterStateHandler, // IBucketModifiedHandler
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
index d19e702c574..c68d794a5e0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
@@ -53,6 +53,7 @@ injectBucketMoveJob(MaintenanceController &controller,
IFrozenBucketHandler &fbHandler,
bucketdb::IBucketCreateNotifier &bucketCreateNotifier,
const vespalib::string &docTypeName,
+ document::BucketSpace bucketSpace,
IDocumentMoveHandler &moveHandler,
IBucketModifiedHandler &bucketModifiedHandler,
IClusterStateChangedNotifier &clusterStateChangedNotifier,
@@ -74,7 +75,7 @@ injectBucketMoveJob(MaintenanceController &controller,
bucketStateChangedNotifier,
diskMemUsageNotifier,
blockableConfig,
- docTypeName));
+ docTypeName, bucketSpace));
controller.registerJobInMasterThread(std::move(trackJob(jobTrackers.getBucketMove(),
std::move(bmj))));
}
@@ -91,6 +92,7 @@ MaintenanceJobsInjector::injectJobs(MaintenanceController &controller,
IFrozenBucketHandler &fbHandler,
bucketdb::IBucketCreateNotifier &bucketCreateNotifier,
const vespalib::string &docTypeName,
+ document::BucketSpace bucketSpace,
IPruneRemovedDocumentsHandler &prdHandler,
IDocumentMoveHandler &moveHandler,
IBucketModifiedHandler &bucketModifiedHandler,
@@ -119,7 +121,7 @@ MaintenanceJobsInjector::injectJobs(MaintenanceController &controller,
fbHandler, jobTrackers.getLidSpaceCompact(),
diskMemUsageNotifier, clusterStateChangedNotifier, calc);
}
- injectBucketMoveJob(controller, fbHandler, bucketCreateNotifier, docTypeName, moveHandler, bucketModifiedHandler,
+ injectBucketMoveJob(controller, fbHandler, bucketCreateNotifier, docTypeName, bucketSpace, moveHandler, bucketModifiedHandler,
clusterStateChangedNotifier, bucketStateChangedNotifier, calc, jobTrackers,
diskMemUsageNotifier, config.getBlockableJobConfig());
controller.registerJobInMasterThread(std::make_unique<SampleAttributeUsageJob>
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
index 85fed392ab6..55c218cca6d 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
@@ -39,6 +39,7 @@ struct MaintenanceJobsInjector
IFrozenBucketHandler &fbHandler,
bucketdb::IBucketCreateNotifier &bucketCreateNotifier,
const vespalib::string &docTypeName,
+ document::BucketSpace bucketSpace,
IPruneRemovedDocumentsHandler &prdHandler,
IDocumentMoveHandler &moveHandler,
IBucketModifiedHandler &bucketModifiedHandler,