summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-11-25 17:24:24 +0100
committerGitHub <noreply@github.com>2022-11-25 17:24:24 +0100
commit6a38a4ef70c4513e44774ef1a5d524b9f8cb22af (patch)
tree5111b101655fe9e6c6afaa5d270db9db14f1d596 /storage
parent3038c01d054748d4d2422b7f3cfe2b38f664de6c (diff)
parent553b2f5f0ac43417fb0158a964d02784904bb1f8 (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')
-rw-r--r--storage/src/tests/storageserver/statemanagertest.cpp2
-rw-r--r--storage/src/vespa/storage/common/nodestateupdater.h4
-rw-r--r--storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.cpp2
-rw-r--r--storage/src/vespa/storage/frameworkimpl/component/distributorcomponentregisterimpl.h2
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp2
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.h2
-rw-r--r--storage/src/vespa/storage/storageserver/bouncer.cpp2
-rw-r--r--storage/src/vespa/storage/storageserver/bouncer.h2
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;
};