From 880aef37eb6666efb7a257a83a66ba864f3c8b6e Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Thu, 22 Feb 2018 14:54:36 +0000 Subject: Move ClusterStateBundle to vdslib, allowing it to be used outside storage module. --- storage/src/tests/common/testnodestateupdater.cpp | 6 ++-- storage/src/tests/common/testnodestateupdater.h | 4 +-- .../filestorage/filestormanagertest.cpp | 2 +- .../src/tests/storageserver/statemanagertest.cpp | 2 +- .../src/vespa/storage/bucketdb/bucketmanager.cpp | 2 +- storage/src/vespa/storage/common/CMakeLists.txt | 1 - .../vespa/storage/common/cluster_state_bundle.cpp | 34 ---------------------- .../vespa/storage/common/cluster_state_bundle.h | 27 ----------------- .../src/vespa/storage/common/nodestateupdater.h | 4 +-- .../component/distributorcomponentregisterimpl.cpp | 2 +- .../persistence/bucketownershipnotifier.cpp | 2 +- .../persistence/filestorage/filestormanager.cpp | 2 +- .../src/vespa/storage/storageserver/bouncer.cpp | 2 +- .../changedbucketownershiphandler.cpp | 2 +- .../vespa/storage/storageserver/mergethrottler.cpp | 2 +- .../vespa/storage/storageserver/statemanager.cpp | 4 +-- .../src/vespa/storage/storageserver/statemanager.h | 3 +- 17 files changed, 20 insertions(+), 81 deletions(-) delete mode 100644 storage/src/vespa/storage/common/cluster_state_bundle.cpp delete mode 100644 storage/src/vespa/storage/common/cluster_state_bundle.h (limited to 'storage/src') diff --git a/storage/src/tests/common/testnodestateupdater.cpp b/storage/src/tests/common/testnodestateupdater.cpp index 18f296e5583..c7fd47e37c7 100644 --- a/storage/src/tests/common/testnodestateupdater.cpp +++ b/storage/src/tests/common/testnodestateupdater.cpp @@ -1,7 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "testnodestateupdater.h" -#include +#include namespace storage { @@ -14,7 +14,7 @@ TestNodeStateUpdater::TestNodeStateUpdater(const lib::NodeType& type) TestNodeStateUpdater::~TestNodeStateUpdater() = default; -std::shared_ptr +std::shared_ptr TestNodeStateUpdater::getClusterStateBundle() const { return _clusterStateBundle; @@ -23,7 +23,7 @@ TestNodeStateUpdater::getClusterStateBundle() const void TestNodeStateUpdater::setClusterState(lib::ClusterState::CSP c) { - _clusterStateBundle = std::make_shared(*c); + _clusterStateBundle = std::make_shared(*c); for (uint32_t i = 0; i < _listeners.size(); ++i) { _listeners[i]->handleNewState(); } diff --git a/storage/src/tests/common/testnodestateupdater.h b/storage/src/tests/common/testnodestateupdater.h index daecb45ece4..1e898e84b18 100644 --- a/storage/src/tests/common/testnodestateupdater.h +++ b/storage/src/tests/common/testnodestateupdater.h @@ -16,7 +16,7 @@ struct TestNodeStateUpdater : public NodeStateUpdater { lib::NodeState::CSP _reported; lib::NodeState::CSP _current; - std::shared_ptr _clusterStateBundle; + std::shared_ptr _clusterStateBundle; std::vector _listeners; public: @@ -25,7 +25,7 @@ public: lib::NodeState::CSP getReportedNodeState() const override { return _reported; } lib::NodeState::CSP getCurrentNodeState() const override { return _current; } - std::shared_ptr getClusterStateBundle() const override; + std::shared_ptr getClusterStateBundle() const override; void addStateListener(StateListener& s) override { _listeners.push_back(&s); } void removeStateListener(StateListener&) override {} Lock::SP grabStateChangeLock() override { return Lock::SP(new Lock); } diff --git a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp index 2192ae4d634..248fb1e5203 100644 --- a/storage/src/tests/persistence/filestorage/filestormanagertest.cpp +++ b/storage/src/tests/persistence/filestorage/filestormanagertest.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/storage/src/tests/storageserver/statemanagertest.cpp b/storage/src/tests/storageserver/statemanagertest.cpp index 0676d3684ff..7c5303f74fe 100644 --- a/storage/src/tests/storageserver/statemanagertest.cpp +++ b/storage/src/tests/storageserver/statemanagertest.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/bucketdb/bucketmanager.cpp b/storage/src/vespa/storage/bucketdb/bucketmanager.cpp index 142003735b8..5078d35956a 100644 --- a/storage/src/vespa/storage/bucketdb/bucketmanager.cpp +++ b/storage/src/vespa/storage/bucketdb/bucketmanager.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/common/CMakeLists.txt b/storage/src/vespa/storage/common/CMakeLists.txt index d1e819523d7..c53aead2ba2 100644 --- a/storage/src/vespa/storage/common/CMakeLists.txt +++ b/storage/src/vespa/storage/common/CMakeLists.txt @@ -3,7 +3,6 @@ vespa_add_library(storage_common OBJECT SOURCES bucketmessages.cpp bucketoperationlogger.cpp - cluster_state_bundle.cpp content_bucket_space.cpp content_bucket_space_repo.cpp distributorcomponent.cpp diff --git a/storage/src/vespa/storage/common/cluster_state_bundle.cpp b/storage/src/vespa/storage/common/cluster_state_bundle.cpp deleted file mode 100644 index 1793c74d378..00000000000 --- a/storage/src/vespa/storage/common/cluster_state_bundle.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#include "cluster_state_bundle.h" -#include - -namespace storage { - -ClusterStateBundle::ClusterStateBundle(const ClusterState &baselineClusterState) - : _baselineClusterState(std::make_shared(baselineClusterState)) -{ -} - -ClusterStateBundle::~ClusterStateBundle() = default; - -const std::shared_ptr & -ClusterStateBundle::getBaselineClusterState() const -{ - return _baselineClusterState; -} - -const std::shared_ptr & -ClusterStateBundle::getDerivedClusterState(document::BucketSpace) const -{ - // For now, just return the baseline cluster state. - return _baselineClusterState; -} - -uint32_t -ClusterStateBundle::getVersion() const -{ - return _baselineClusterState->getVersion(); -} - -} diff --git a/storage/src/vespa/storage/common/cluster_state_bundle.h b/storage/src/vespa/storage/common/cluster_state_bundle.h deleted file mode 100644 index 1072ad26596..00000000000 --- a/storage/src/vespa/storage/common/cluster_state_bundle.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include - -namespace storage { - -namespace lib { class ClusterState; } - -/** - * Class representing the baseline cluster state and the derived cluster - * state for each bucket space. - */ -class ClusterStateBundle -{ - using ClusterState = lib::ClusterState; - std::shared_ptr _baselineClusterState; -public: - explicit ClusterStateBundle(const ClusterState &baselineClusterState); - ~ClusterStateBundle(); - const std::shared_ptr &getBaselineClusterState() const; - const std::shared_ptr &getDerivedClusterState(document::BucketSpace bucketSpace) const; - uint32_t getVersion() const; -}; - -} diff --git a/storage/src/vespa/storage/common/nodestateupdater.h b/storage/src/vespa/storage/common/nodestateupdater.h index 7fd3dedbcab..c2887a971f3 100644 --- a/storage/src/vespa/storage/common/nodestateupdater.h +++ b/storage/src/vespa/storage/common/nodestateupdater.h @@ -29,7 +29,7 @@ namespace storage { -class ClusterStateBundle; +namespace lib { class ClusterStateBundle; } struct StateListener { virtual ~StateListener() {} @@ -43,7 +43,7 @@ struct NodeStateUpdater { virtual lib::NodeState::CSP getReportedNodeState() const = 0; virtual lib::NodeState::CSP getCurrentNodeState() const = 0; - virtual std::shared_ptr getClusterStateBundle() const = 0; + virtual std::shared_ptr getClusterStateBundle() const = 0; virtual void addStateListener(StateListener&) = 0; virtual void removeStateListener(StateListener&) = 0; diff --git a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp index cf290c78acf..439bc9e078c 100644 --- a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp +++ b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp @@ -2,7 +2,7 @@ #include "distributorcomponentregisterimpl.h" #include #include -#include +#include namespace storage { diff --git a/storage/src/vespa/storage/persistence/bucketownershipnotifier.cpp b/storage/src/vespa/storage/persistence/bucketownershipnotifier.cpp index 5e561951260..a0f05a70f4e 100644 --- a/storage/src/vespa/storage/persistence/bucketownershipnotifier.cpp +++ b/storage/src/vespa/storage/persistence/bucketownershipnotifier.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp index 2773c19eaa1..311dc52767d 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp +++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/storageserver/bouncer.cpp b/storage/src/vespa/storage/storageserver/bouncer.cpp index af274c9b3e6..72edbfd095e 100644 --- a/storage/src/vespa/storage/storageserver/bouncer.cpp +++ b/storage/src/vespa/storage/storageserver/bouncer.cpp @@ -2,7 +2,7 @@ #include "bouncer.h" #include "bouncer_metrics.h" -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/storageserver/changedbucketownershiphandler.cpp b/storage/src/vespa/storage/storageserver/changedbucketownershiphandler.cpp index cd7be21a369..7cf42af841d 100644 --- a/storage/src/vespa/storage/storageserver/changedbucketownershiphandler.cpp +++ b/storage/src/vespa/storage/storageserver/changedbucketownershiphandler.cpp @@ -3,7 +3,7 @@ #include "changedbucketownershiphandler.h" #include #include -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/storageserver/mergethrottler.cpp b/storage/src/vespa/storage/storageserver/mergethrottler.cpp index 73fa61e9fb7..a15b1b98d63 100644 --- a/storage/src/vespa/storage/storageserver/mergethrottler.cpp +++ b/storage/src/vespa/storage/storageserver/mergethrottler.cpp @@ -1,7 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "mergethrottler.h" -#include +#include #include #include #include diff --git a/storage/src/vespa/storage/storageserver/statemanager.cpp b/storage/src/vespa/storage/storageserver/statemanager.cpp index 1908eab96ec..11ca0bcc9ae 100644 --- a/storage/src/vespa/storage/storageserver/statemanager.cpp +++ b/storage/src/vespa/storage/storageserver/statemanager.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include @@ -192,7 +192,7 @@ StateManager::getCurrentNodeState() const (_systemState->getBaselineClusterState()->getNodeState(thisNode())); } -std::shared_ptr +std::shared_ptr StateManager::getClusterStateBundle() const { vespalib::LockGuard lock(_stateLock); diff --git a/storage/src/vespa/storage/storageserver/statemanager.h b/storage/src/vespa/storage/storageserver/statemanager.h index 8d3e4d75a88..9f5c60b42aa 100644 --- a/storage/src/vespa/storage/storageserver/statemanager.h +++ b/storage/src/vespa/storage/storageserver/statemanager.h @@ -33,7 +33,7 @@ namespace metrics { namespace storage { -class ClusterStateBundle; +namespace lib { class ClusterStateBundle; } class StateManager : public NodeStateUpdater, public StorageLink, @@ -50,6 +50,7 @@ class StateManager : public NodeStateUpdater, std::atomic _notifyingListeners; std::shared_ptr _nodeState; std::shared_ptr _nextNodeState; + using ClusterStateBundle = lib::ClusterStateBundle; std::shared_ptr _systemState; std::shared_ptr _nextSystemState; std::list _stateListeners; -- cgit v1.2.3