diff options
author | Geir Storli <geirstorli@yahoo.no> | 2018-02-12 16:59:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-12 16:59:48 +0100 |
commit | 2939cebfc9ecdf30c6561e93e7e668bf86acb89f (patch) | |
tree | 3e720e3c4fa5b34d0892862c7b65dbc7ae16a349 | |
parent | 5818eb21f6c8284cf21a9b6f440f4d2d4dd7b21f (diff) | |
parent | 8fea5e1a211442d80958d6b28a176054e6cce7d4 (diff) |
Merge pull request #5013 from vespa-engine/toregge/always-enable-global-content-bucket-space
Always enable global content bucket space
6 files changed, 21 insertions, 22 deletions
diff --git a/storage/src/tests/bucketdb/initializertest.cpp b/storage/src/tests/bucketdb/initializertest.cpp index cb76876c24e..2141dbf4b53 100644 --- a/storage/src/tests/bucketdb/initializertest.cpp +++ b/storage/src/tests/bucketdb/initializertest.cpp @@ -17,10 +17,13 @@ #include <vespa/vdstestlib/cppunit/macros.h> #include <vespa/storage/bucketdb/lockablemap.hpp> #include <vespa/vdstestlib/cppunit/dirconfig.hpp> +#include <vespa/document/bucket/fixed_bucket_spaces.h> #include <vespa/log/log.h> LOG_SETUP(".test.bucketdb.initializing"); +using document::FixedBucketSpaces; + namespace storage { typedef uint16_t PartitionId; @@ -444,10 +447,12 @@ struct FakePersistenceLayer : public StorageLink { << " for which we should not get a request"; fatal(ost.str()); } else { - for (DiskData::const_iterator it2 = it->second.begin(); - it2 != it->second.end(); ++it2) - { - reply->getBuckets().push_back(it2->first); + if (cmd.getBucket().getBucketSpace() == FixedBucketSpaces::default_space()) { + for (DiskData::const_iterator it2 = it->second.begin(); + it2 != it->second.end(); ++it2) + { + reply->getBuckets().push_back(it2->first); + } } } if (!fatalError.empty()) { diff --git a/storage/src/tests/persistence/filestorage/modifiedbucketcheckertest.cpp b/storage/src/tests/persistence/filestorage/modifiedbucketcheckertest.cpp index ac1a046bd17..7895d9e4cd0 100644 --- a/storage/src/tests/persistence/filestorage/modifiedbucketcheckertest.cpp +++ b/storage/src/tests/persistence/filestorage/modifiedbucketcheckertest.cpp @@ -140,6 +140,8 @@ ModifiedBucketCheckerTest::testDoNotCheckModifiedBucketsIfAlreadyPending() expectCommandsAndSendReplies(0, 0); // After replies received, tick should send new requests again. replyToAll(messages, 0); + _handler->tick(); // global bucket space ==> nothing to do + expectCommandsAndSendReplies(0, 0); _handler->tick(); expectCommandsAndSendReplies(3, 3); } @@ -177,13 +179,20 @@ ModifiedBucketCheckerTest::testRecheckRequestsAreChunked() _handler->tick(); expectCommandsAndSendReplies(1, 4); + _handler->tick(); // global bucket space ==> nothing to do + expectCommandsAndSendReplies(0, 0); + // New round of fetching _handler->tick(); expectCommandsAndSendReplies(1, 10); + _handler->tick(); // global bucket space ==> nothing to do + expectCommandsAndSendReplies(0, 0); // And done! _handler->tick(); expectCommandsAndSendReplies(0, 0); + _handler->tick(); // global bucket space ==> nothing to do + expectCommandsAndSendReplies(0, 0); } void diff --git a/storage/src/vespa/storage/common/content_bucket_space_repo.cpp b/storage/src/vespa/storage/common/content_bucket_space_repo.cpp index 304c6eddddc..774ddb81578 100644 --- a/storage/src/vespa/storage/common/content_bucket_space_repo.cpp +++ b/storage/src/vespa/storage/common/content_bucket_space_repo.cpp @@ -11,6 +11,7 @@ ContentBucketSpaceRepo::ContentBucketSpaceRepo() : _map() { _map.emplace(document::FixedBucketSpaces::default_space(), std::make_unique<ContentBucketSpace>(document::FixedBucketSpaces::default_space())); + _map.emplace(document::FixedBucketSpaces::global_space(), std::make_unique<ContentBucketSpace>(document::FixedBucketSpaces::global_space())); } ContentBucketSpace & @@ -21,10 +22,6 @@ ContentBucketSpaceRepo::get(BucketSpace bucketSpace) const return *itr->second; } -void ContentBucketSpaceRepo::enableGlobalBucketSpace() { - _map.emplace(document::FixedBucketSpaces::global_space(), std::make_unique<ContentBucketSpace>(document::FixedBucketSpaces::global_space())); -} - ContentBucketSpaceRepo::BucketSpaces ContentBucketSpaceRepo::getBucketSpaces() const { diff --git a/storage/src/vespa/storage/common/content_bucket_space_repo.h b/storage/src/vespa/storage/common/content_bucket_space_repo.h index f0803d76282..0d4ddb86bcf 100644 --- a/storage/src/vespa/storage/common/content_bucket_space_repo.h +++ b/storage/src/vespa/storage/common/content_bucket_space_repo.h @@ -24,8 +24,6 @@ public: BucketSpaceMap::const_iterator begin() const { return _map.begin(); } BucketSpaceMap::const_iterator end() const { return _map.end(); } - void enableGlobalBucketSpace(); - BucketSpaces getBucketSpaces() const; size_t getBucketMemoryUsage() const; diff --git a/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.cpp b/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.cpp index 29c69b59760..888f1e816a1 100644 --- a/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.cpp +++ b/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.cpp @@ -42,18 +42,9 @@ void ServiceLayerComponentRegisterImpl::setDistribution(lib::Distribution::SP distribution) { _bucketSpaceRepo.get(document::FixedBucketSpaces::default_space()).setDistribution(distribution); - if (enableMultipleBucketSpaces()) { - auto global_distr = GlobalBucketSpaceDistributionConverter::convert_to_global(*distribution); - _bucketSpaceRepo.get(document::FixedBucketSpaces::global_space()).setDistribution(global_distr); - } + auto global_distr = GlobalBucketSpaceDistributionConverter::convert_to_global(*distribution); + _bucketSpaceRepo.get(document::FixedBucketSpaces::global_space()).setDistribution(global_distr); StorageComponentRegisterImpl::setDistribution(distribution); } -void ServiceLayerComponentRegisterImpl::setEnableMultipleBucketSpaces(bool enabled) { - StorageComponentRegisterImpl::setEnableMultipleBucketSpaces(enabled); - if (enabled) { - _bucketSpaceRepo.enableGlobalBucketSpace(); - } -} - } // storage diff --git a/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.h b/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.h index fc07f394fff..deb3b2c0767 100644 --- a/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.h +++ b/storage/src/vespa/storage/frameworkimpl/component/servicelayercomponentregisterimpl.h @@ -38,7 +38,6 @@ public: void registerServiceLayerComponent(ServiceLayerManagedComponent&) override; void setDiskCount(uint16_t count); void setDistribution(lib::Distribution::SP distribution) override; - void setEnableMultipleBucketSpaces(bool enabled) override; }; } // storage |