aboutsummaryrefslogtreecommitdiffstats
path: root/storage/src
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2023-09-29 11:36:47 +0000
committerTor Brede Vekterli <vekterli@yahooinc.com>2023-09-29 11:36:47 +0000
commite3fe409f7301ccfb9ab5f78a92973ad309f5d08f (patch)
tree332651c5e29e793e601bd8a3c124506f9e7555c6 /storage/src
parent791ab8dc2d9c9febb1ef93977fe990d66434c341 (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')
-rw-r--r--storage/src/vespa/storage/storageserver/CMakeLists.txt1
-rw-r--r--storage/src/vespa/storage/storageserver/distributornode.cpp2
-rw-r--r--storage/src/vespa/storage/storageserver/opslogger.cpp144
-rw-r--r--storage/src/vespa/storage/storageserver/opslogger.h51
-rw-r--r--storage/src/vespa/storage/storageserver/servicelayernode.cpp2
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));