diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-11-25 17:24:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-25 17:24:24 +0100 |
commit | 6a38a4ef70c4513e44774ef1a5d524b9f8cb22af (patch) | |
tree | 5111b101655fe9e6c6afaa5d270db9db14f1d596 /storage | |
parent | 3038c01d054748d4d2422b7f3cfe2b38f664de6c (diff) | |
parent | 553b2f5f0ac43417fb0158a964d02784904bb1f8 (diff) |
Merge pull request #24999 from vespa-engine/vekterli/make-internal-state-propagation-noexcept
Make internal cluster/node state propagation noexcept
Diffstat (limited to 'storage')
8 files changed, 9 insertions, 9 deletions
diff --git a/storage/src/tests/storageserver/statemanagertest.cpp b/storage/src/tests/storageserver/statemanagertest.cpp index 5a43f04072d..d7fc04ebe8c 100644 --- a/storage/src/tests/storageserver/statemanagertest.cpp +++ b/storage/src/tests/storageserver/statemanagertest.cpp @@ -163,7 +163,7 @@ struct MyStateListener : public StateListener { : updater(upd), current(*updater.getReportedNodeState()) {} ~MyStateListener() override = default; - void handleNewState() override { + void handleNewState() noexcept override { ost << current << " -> "; current = *updater.getReportedNodeState(); ost << current << "\n"; diff --git a/storage/src/vespa/storage/common/nodestateupdater.h b/storage/src/vespa/storage/common/nodestateupdater.h index dd9840b22f6..8d378e1ecd5 100644 --- a/storage/src/vespa/storage/common/nodestateupdater.h +++ b/storage/src/vespa/storage/common/nodestateupdater.h @@ -31,8 +31,8 @@ namespace storage { namespace lib { class ClusterStateBundle; } struct StateListener { - virtual ~StateListener() {} - virtual void handleNewState() = 0; + virtual ~StateListener() = default; + virtual void handleNewState() noexcept = 0; }; struct NodeStateUpdater { diff --git a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp index 2c0fc771ee7..24f031cf49c 100644 --- a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp +++ b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp @@ -15,7 +15,7 @@ DistributorComponentRegisterImpl::DistributorComponentRegisterImpl() DistributorComponentRegisterImpl::~DistributorComponentRegisterImpl() = default; void -DistributorComponentRegisterImpl::handleNewState() +DistributorComponentRegisterImpl::handleNewState() noexcept { auto clusterStateBundle = getNodeStateUpdater().getClusterStateBundle(); _clusterState = std::make_shared<lib::ClusterState>(*clusterStateBundle->getBaselineClusterState()); diff --git a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h index 5a85bc3f4ee..57b5a5cbce8 100644 --- a/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h +++ b/storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h @@ -42,7 +42,7 @@ public: void setDistributorConfig(const DistributorConfig&); void setVisitorConfig(const VisitorConfig&); private: - void handleNewState() override; + void handleNewState() noexcept override; void setNodeStateUpdater(NodeStateUpdater& updater) override; }; diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp index 314836384ce..6d69a29fc6e 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp +++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp @@ -999,7 +999,7 @@ FileStorManager::propagateClusterStates() } void -FileStorManager::handleNewState() +FileStorManager::handleNewState() noexcept { propagateClusterStates(); //TODO: Don't update if it isn't necessary (distributor-only change) diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h index 6820ed6f451..381774e0dd4 100644 --- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.h +++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.h @@ -101,7 +101,7 @@ public: } ProviderErrorWrapper& error_wrapper() noexcept; - void handleNewState() override; + void handleNewState() noexcept override; // Must be called exactly once at startup _before_ storage chain is opened. // This function expects that no external messages may arrive prior to, or diff --git a/storage/src/vespa/storage/storageserver/bouncer.cpp b/storage/src/vespa/storage/storageserver/bouncer.cpp index 313773bc5e8..0324891243b 100644 --- a/storage/src/vespa/storage/storageserver/bouncer.cpp +++ b/storage/src/vespa/storage/storageserver/bouncer.cpp @@ -349,7 +349,7 @@ deriveNodeState(const lib::NodeState &reportedNodeState, } void -Bouncer::handleNewState() +Bouncer::handleNewState() noexcept { std::lock_guard lock(_lock); const auto reportedNodeState = *_component.getStateUpdater().getReportedNodeState(); diff --git a/storage/src/vespa/storage/storageserver/bouncer.h b/storage/src/vespa/storage/storageserver/bouncer.h index 55fb386a37e..95f263d3f03 100644 --- a/storage/src/vespa/storage/storageserver/bouncer.h +++ b/storage/src/vespa/storage/storageserver/bouncer.h @@ -74,7 +74,7 @@ private: */ uint64_t extractMutationTimestampIfAny(const api::StorageMessage& msg); bool onDown(const std::shared_ptr<api::StorageMessage>&) override; - void handleNewState() override; + void handleNewState() noexcept override; const lib::NodeState &getDerivedNodeState(document::BucketSpace bucketSpace) const; void append_node_identity(std::ostream& target_stream) const; }; |