aboutsummaryrefslogtreecommitdiffstats
path: root/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/src/vespa/storage/persistence/filestorage/filestormanager.h')
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.h26
1 files changed, 8 insertions, 18 deletions
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
index cf004c58820..96cff8dfeee 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h
@@ -1,10 +1,4 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/**
- * @class storage::FileStorManager
- * @ingroup filestorage
- *
- * @version $Id$
- */
+// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
@@ -20,10 +14,11 @@
#include <vespa/storage/common/storagelinkqueued.h>
#include <vespa/config-stor-filestor.h>
#include <vespa/storage/persistence/diskthread.h>
+
#include <vespa/storage/common/nodestateupdater.h>
#include <vespa/storageframework/generic/status/htmlstatusreporter.h>
+
#include <vespa/config/helper/ifetchercallback.h>
-#include <vespa/vespalib/util/memory_trap.h>
namespace config {
class ConfigUri;
@@ -41,7 +36,6 @@ namespace spi { struct PersistenceProvider; }
class ContentBucketSpace;
struct FileStorManagerTest;
-class ReadBucketList;
class BucketOwnershipNotifier;
class AbortBucketOperationsCommand;
struct DoneInitializeHandler;
@@ -53,10 +47,11 @@ class ProviderErrorWrapper;
class FileStorManager : public StorageLinkQueued,
public framework::HtmlStatusReporter,
public StateListener,
- private config::IFetcherCallback<vespa::config::content::StorFilestorConfig>,
public MessageSender,
public spi::BucketExecutor
{
+ using StorFilestorConfig = vespa::config::content::StorFilestorConfig;
+
ServiceLayerComponentRegister & _compReg;
ServiceLayerComponent _component;
std::unique_ptr<spi::PersistenceProvider> _provider;
@@ -68,14 +63,8 @@ class FileStorManager : public StorageLinkQueued,
std::unique_ptr<BucketOwnershipNotifier> _bucketOwnershipNotifier;
std::unique_ptr<vespa::config::content::StorFilestorConfig> _config;
- std::unique_ptr<config::ConfigFetcher> _configFetcher;
bool _use_async_message_handling_on_schedule;
std::shared_ptr<FileStorMetrics> _metrics;
- // Spray&pray over a few different size classes
- std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_1;
- std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_2;
- std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_3;
- std::unique_ptr<vespalib::HeapMemoryTrap> _mem_trap_4;
std::unique_ptr<FileStorHandler> _filestorHandler;
std::unique_ptr<vespalib::ISequencedTaskExecutor> _sequencedExecutor;
@@ -86,7 +75,7 @@ class FileStorManager : public StorageLinkQueued,
std::unique_ptr<vespalib::IDestructorCallback> _resource_usage_listener_registration;
public:
- FileStorManager(const config::ConfigUri &, spi::PersistenceProvider&,
+ FileStorManager(const StorFilestorConfig&, spi::PersistenceProvider&,
ServiceLayerComponentRegister&, DoneInitializeHandler&, HostInfo&);
FileStorManager(const FileStorManager &) = delete;
FileStorManager& operator=(const FileStorManager &) = delete;
@@ -122,8 +111,9 @@ public:
const FileStorMetrics& get_metrics() const { return *_metrics; }
+ void on_configure(const vespa::config::content::StorFilestorConfig& config);
+
private:
- void configure(std::unique_ptr<vespa::config::content::StorFilestorConfig> config) override;
PersistenceHandler & createRegisteredHandler(const ServiceLayerComponent & component);
VESPA_DLL_LOCAL PersistenceHandler & getThreadLocalHandler();