diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2023-09-29 11:36:47 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahooinc.com> | 2023-09-29 11:36:47 +0000 |
commit | e3fe409f7301ccfb9ab5f78a92973ad309f5d08f (patch) | |
tree | 332651c5e29e793e601bd8a3c124506f9e7555c6 /storage/src | |
parent | 791ab8dc2d9c9febb1ef93977fe990d66434c341 (diff) |
Remove ancient and unused OpsLogger component
Although unused, its presence in the chain causes an indirect
call for each message passing by in either direction, which is
entirely pointless.
Diffstat (limited to 'storage/src')
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)); |