diff options
Diffstat (limited to 'storage')
5 files changed, 0 insertions, 200 deletions
diff --git a/storage/src/vespa/storage/storageserver/CMakeLists.txt b/storage/src/vespa/storage/storageserver/CMakeLists.txt index 009f8170669..1ef670f96ac 100644 --- a/storage/src/vespa/storage/storageserver/CMakeLists.txt +++ b/storage/src/vespa/storage/storageserver/CMakeLists.txt @@ -14,7 +14,6 @@ vespa_add_library(storage_storageserver OBJECT documentapiconverter.cpp fnet_metrics_wrapper.cpp mergethrottler.cpp - opslogger.cpp priorityconverter.cpp rpcrequestwrapper.cpp service_layer_error_listener.cpp diff --git a/storage/src/vespa/storage/storageserver/distributornode.cpp b/storage/src/vespa/storage/storageserver/distributornode.cpp index ab80381f5d4..431dd89b613 100644 --- a/storage/src/vespa/storage/storageserver/distributornode.cpp +++ b/storage/src/vespa/storage/storageserver/distributornode.cpp @@ -3,7 +3,6 @@ #include "distributornode.h" #include "bouncer.h" #include "communicationmanager.h" -#include "opslogger.h" #include "statemanager.h" #include <vespa/storage/common/hostreporter/hostinfo.h> #include <vespa/storage/common/i_storage_chain_builder.h> @@ -96,7 +95,6 @@ DistributorNode::createChain(IStorageChainBuilder &builder) std::unique_ptr<StateManager> stateManager(releaseStateManager()); builder.add(std::make_unique<Bouncer>(dcr, _configUri)); - builder.add(std::make_unique<OpsLogger>(dcr, _configUri)); // Distributor instance registers a host info reporter with the state // manager, which is safe since the lifetime of said state manager // extends to the end of the process. diff --git a/storage/src/vespa/storage/storageserver/opslogger.cpp b/storage/src/vespa/storage/storageserver/opslogger.cpp deleted file mode 100644 index dcf7ddf4a92..00000000000 --- a/storage/src/vespa/storage/storageserver/opslogger.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#include "opslogger.h" -#include <vespa/storageframework/generic/clock/clock.h> -#include <vespa/storageapi/message/persistence.h> -#include <vespa/config/helper/configfetcher.hpp> -#include <vespa/config/subscription/configuri.h> -#include <sstream> - -#include <vespa/log/log.h> -LOG_SETUP(".operationslogger"); - -namespace storage { - -OpsLogger::OpsLogger(StorageComponentRegister& compReg, - const config::ConfigUri & configUri) - : StorageLink("Operations logger"), - _lock(), - _fileName(), - _targetFile(nullptr), - _component(compReg, "opslogger"), - _configFetcher(std::make_unique<config::ConfigFetcher>(configUri.getContext())) -{ - _configFetcher->subscribe<vespa::config::content::core::StorOpsloggerConfig>(configUri.getConfigId(), this); - _configFetcher->start(); -} - -OpsLogger::~OpsLogger() -{ - closeNextLink(); - LOG(debug, "Deleting link %s.", toString().c_str()); - - if (_targetFile) { - fclose(_targetFile); - } -} - -void -OpsLogger::onClose() -{ - // Avoid getting config during shutdown - _configFetcher->close(); -} - -void -OpsLogger::configure(std::unique_ptr<vespa::config::content::core::StorOpsloggerConfig> config) -{ - std::lock_guard lock(_lock); - // If no change in state, ignore - if (config->targetfile == _fileName) return; - // If a change we need to close old handle if open - if (_targetFile != nullptr) { - fclose(_targetFile); - _targetFile = nullptr; - } - // Set up the new operations log file - _fileName = config->targetfile; - if (_fileName.length() > 0) { - _targetFile = fopen(_fileName.c_str(), "a+b"); - - if (!_targetFile) { - LOG(warning, "Could not open file %s for operations logging", - _fileName.c_str()); - } - } -} - -void -OpsLogger::print(std::ostream& out, bool verbose, - const std::string& indent) const -{ - (void) verbose; (void) indent; - out << "OpsLogger()"; -} - -bool -OpsLogger::onPutReply(const std::shared_ptr<api::PutReply>& msg) -{ - if (_targetFile == nullptr) return false; - std::ostringstream ost; - ost << vespalib::to_string(_component.getClock().getSystemTime()) - << "\tPUT\t" << msg->getDocumentId() << "\t" - << msg->getResult() << "\n"; - { - std::lock_guard lock(_lock); - if (_targetFile == nullptr) return false; - fwrite(ost.str().c_str(), ost.str().length(), 1, _targetFile); - fflush(_targetFile); - } - return false; -} - -bool -OpsLogger::onUpdateReply(const std::shared_ptr<api::UpdateReply>& msg) -{ - if (_targetFile == nullptr) return false; - std::ostringstream ost; - ost << vespalib::to_string(_component.getClock().getSystemTime()) - << "\tUPDATE\t" << msg->getDocumentId() << "\t" - << msg->getResult() << "\n"; - { - std::lock_guard lock(_lock); - if (_targetFile == nullptr) return false; - fwrite(ost.str().c_str(), ost.str().length(), 1, _targetFile); - fflush(_targetFile); - } - return false; -} - -bool -OpsLogger::onRemoveReply(const std::shared_ptr<api::RemoveReply>& msg) -{ - if (_targetFile == nullptr) return false; - std::ostringstream ost; - ost << vespalib::to_string(_component.getClock().getSystemTime()) - << "\tREMOVE\t" << msg->getDocumentId() << "\t" - << msg->getResult() << "\n"; - { - std::lock_guard lock(_lock); - if (_targetFile == nullptr) return false; - fwrite(ost.str().c_str(), ost.str().length(), 1, _targetFile); - fflush(_targetFile); - } - return false; -} - -bool -OpsLogger::onGetReply(const std::shared_ptr<api::GetReply>& msg) -{ - if (_targetFile == nullptr) return false; - std::ostringstream ost; - ost << vespalib::to_string(_component.getClock().getSystemTime()) - << "\tGET\t" << msg->getDocumentId() << "\t" - << msg->getResult() << "\n"; - { - std::lock_guard lock(_lock); - if (_targetFile == nullptr) return false; - fwrite(ost.str().c_str(), ost.str().length(), 1, _targetFile); - fflush(_targetFile); - } - return false; -} - -} // storage diff --git a/storage/src/vespa/storage/storageserver/opslogger.h b/storage/src/vespa/storage/storageserver/opslogger.h deleted file mode 100644 index 039cb72969e..00000000000 --- a/storage/src/vespa/storage/storageserver/opslogger.h +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -/** - * \class storage::OpsLogger - * - * \brief Storage link that can be configured to log all storage operations to - * a file. -*/ -#pragma once - -#include <vespa/storage/common/storagelink.h> -#include <vespa/storage/common/storagecomponent.h> -#include <vespa/storageapi/messageapi/storagemessage.h> -#include <vespa/storageapi/message/state.h> -#include <vespa/storage/config/config-stor-opslogger.h> -#include <vespa/config/helper/ifetchercallback.h> - -namespace config { - class ConfigUri; - class ConfigFetcher; -} - -namespace storage { - -class OpsLogger : public StorageLink, - public config::IFetcherCallback<vespa::config::content::core::StorOpsloggerConfig> { -public: - explicit OpsLogger(StorageComponentRegister&, - const config::ConfigUri & configUri); - ~OpsLogger() override; - - void onClose() override; - void print(std::ostream& out, bool verbose, const std::string& indent) const override; - bool onPutReply(const std::shared_ptr<api::PutReply>& msg) override; - bool onUpdateReply(const std::shared_ptr<api::UpdateReply>& msg) override; - bool onRemoveReply(const std::shared_ptr<api::RemoveReply>& msg) override; - bool onGetReply(const std::shared_ptr<api::GetReply>& msg) override; - - /** Ignore all replies on the way down the storage chain. */ - bool onDown(const std::shared_ptr<api::StorageMessage>&) override { return false; }; - void configure(std::unique_ptr<vespa::config::content::core::StorOpsloggerConfig> config) override; -private: - std::mutex _lock; - std::string _fileName; - FILE * _targetFile; - framework::Component _component; - - std::unique_ptr<config::ConfigFetcher> _configFetcher; -}; - -} diff --git a/storage/src/vespa/storage/storageserver/servicelayernode.cpp b/storage/src/vespa/storage/storageserver/servicelayernode.cpp index 65615bea2dd..846d6ed09bf 100644 --- a/storage/src/vespa/storage/storageserver/servicelayernode.cpp +++ b/storage/src/vespa/storage/storageserver/servicelayernode.cpp @@ -5,7 +5,6 @@ #include "communicationmanager.h" #include "changedbucketownershiphandler.h" #include "mergethrottler.h" -#include "opslogger.h" #include "statemanager.h" #include "priorityconverter.h" #include "service_layer_error_listener.h" @@ -167,7 +166,6 @@ ServiceLayerNode::createChain(IStorageChainBuilder &builder) _communicationManager = communication_manager.get(); builder.add(std::move(communication_manager)); builder.add(std::make_unique<Bouncer>(compReg, _configUri)); - builder.add(std::make_unique<OpsLogger>(compReg, _configUri)); auto merge_throttler_up = std::make_unique<MergeThrottler>(_configUri, compReg); auto merge_throttler = merge_throttler_up.get(); builder.add(std::move(merge_throttler_up)); |