summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-10-18 11:50:06 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-10-18 11:50:06 +0000
commita7f45c9843e197c5881ef67fa83e1d23c78daa17 (patch)
tree96618789bbc4b9303256c67c40f7989bd5c6ee99 /storage
parent554e8e480b6a614c7b730390472b83daf11911b9 (diff)
We must detect changes in document config.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/persistence/filestorage/filestormanagertest.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/mergehandler.cpp3
-rw-r--r--storage/src/vespa/storage/persistence/persistenceutil.cpp1
-rw-r--r--storage/src/vespa/storage/persistence/persistenceutil.h1
-rw-r--r--storage/src/vespa/storage/persistence/testandsethelper.cpp5
5 files changed, 6 insertions, 5 deletions
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 <vespa/persistence/dummyimpl/dummypersistence.h>
#include <vespa/persistence/spi/test.h>
#include <vespa/storage/bucketdb/bucketmanager.h>
+#include <vespa/storage/persistence/bucketownershipnotifier.h>
#include <vespa/storage/persistence/filestorage/filestorhandlerimpl.h>
#include <vespa/storage/persistence/filestorage/filestormanager.h>
#include <vespa/storage/persistence/filestorage/modifiedbucketchecker.h>
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<const document::DocumentTypeRepo> 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<const document::DocumentTypeRepo> _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<const document::DocumentTypeRepo> _repo = _env._component.getTypeRepo()->documentTypeRepo;
+ resolveDocumentType(*_repo);
+ parseDocumentSelection(*_repo);
}
TestAndSetHelper::~TestAndSetHelper() = default;