From a7f45c9843e197c5881ef67fa83e1d23c78daa17 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sun, 18 Oct 2020 11:50:06 +0000 Subject: We must detect changes in document config. --- storage/src/tests/persistence/filestorage/filestormanagertest.cpp | 1 + storage/src/vespa/storage/persistence/mergehandler.cpp | 3 ++- storage/src/vespa/storage/persistence/persistenceutil.cpp | 1 - storage/src/vespa/storage/persistence/persistenceutil.h | 1 - storage/src/vespa/storage/persistence/testandsethelper.cpp | 5 +++-- 5 files changed, 6 insertions(+), 5 deletions(-) (limited to 'storage') diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp index 4d9b23620f6..ec86c8db679 100644 --- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp +++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include diff --git a/storage/src/vespa/storage/persistence/mergehandler.cpp b/storage/src/vespa/storage/persistence/mergehandler.cpp index 2287c3f6ff6..b2904c6d67b 100644 --- a/storage/src/vespa/storage/persistence/mergehandler.cpp +++ b/storage/src/vespa/storage/persistence/mergehandler.cpp @@ -426,6 +426,7 @@ MergeHandler::fetchLocalData( } document::BucketIdFactory idFactory; + const std::shared_ptr repo = _env._component.getTypeRepo()->documentTypeRepo; for (const auto& entry_ptr : entries) { const auto& docEntry = *entry_ptr; @@ -460,7 +461,7 @@ MergeHandler::fetchLocalData( e.toString().c_str(), docEntry.toString().c_str()); } } - e._repo = _env._repo.get(); + e._repo = repo.get(); } for (auto& e : diff) { diff --git a/storage/src/vespa/storage/persistence/persistenceutil.cpp b/storage/src/vespa/storage/persistence/persistenceutil.cpp index 6ddda93011a..59baf3b4fd3 100644 --- a/storage/src/vespa/storage/persistence/persistenceutil.cpp +++ b/storage/src/vespa/storage/persistence/persistenceutil.cpp @@ -168,7 +168,6 @@ PersistenceUtil::PersistenceUtil( _nodeIndex(component.getIndex()), _metrics(metrics), _bucketFactory(component.getBucketIdFactory()), - _repo(component.getTypeRepo()->documentTypeRepo), _spi(provider) { } diff --git a/storage/src/vespa/storage/persistence/persistenceutil.h b/storage/src/vespa/storage/persistence/persistenceutil.h index 535bf379a89..a98bc1e4e9a 100644 --- a/storage/src/vespa/storage/persistence/persistenceutil.h +++ b/storage/src/vespa/storage/persistence/persistenceutil.h @@ -101,7 +101,6 @@ struct PersistenceUtil { uint16_t _nodeIndex; FileStorThreadMetrics &_metrics; // Needs a better solution for speed and thread safety const document::BucketIdFactory &_bucketFactory; - const std::shared_ptr _repo; spi::PersistenceProvider &_spi; PersistenceUtil( diff --git a/storage/src/vespa/storage/persistence/testandsethelper.cpp b/storage/src/vespa/storage/persistence/testandsethelper.cpp index aad82887984..c4b7be73cbe 100644 --- a/storage/src/vespa/storage/persistence/testandsethelper.cpp +++ b/storage/src/vespa/storage/persistence/testandsethelper.cpp @@ -47,8 +47,9 @@ TestAndSetHelper::TestAndSetHelper(const PersistenceUtil & env, const spi::Persi _docTypePtr(_cmd.getDocumentType()), _missingDocumentImpliesMatch(missingDocumentImpliesMatch) { - resolveDocumentType(*env._repo); - parseDocumentSelection(*env._repo); + const std::shared_ptr _repo = _env._component.getTypeRepo()->documentTypeRepo; + resolveDocumentType(*_repo); + parseDocumentSelection(*_repo); } TestAndSetHelper::~TestAndSetHelper() = default; -- cgit v1.2.3