summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorGeir Storli <geirstorli@yahoo.no>2017-11-20 13:47:52 +0100
committerGitHub <noreply@github.com>2017-11-20 13:47:52 +0100
commit384d438792630d4ae1c7149b7efcc2c4a7a7ec62 (patch)
treee7e722a0878931c3ac4e36ca12a6748371825933 /storage
parent2dd374a7899775ba613384580ea32c076578e873 (diff)
parent9418fd588c9ab7a251963da258067f0a308b22c0 (diff)
Merge pull request #4200 from vespa-engine/toregge/set-spi-cluster-state-for-each-bucket-space
Add bucketSpace argument to storage::spi::PersistenceProvider::setClusterState() method.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp7
-rw-r--r--storage/src/vespa/storage/persistence/provider_error_wrapper.cpp4
-rw-r--r--storage/src/vespa/storage/persistence/provider_error_wrapper.h2
3 files changed, 8 insertions, 5 deletions
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
index 88a7343f8c8..dfd04b271b2 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestormanager.cpp
@@ -966,7 +966,6 @@ void
FileStorManager::updateState()
{
lib::ClusterState::CSP state(_component.getStateUpdater().getSystemState());
- spi::ClusterState spiState(*state, _component.getIndex(), *_component.getDistribution());
lib::Node node(_component.getNodeType(), _component.getIndex());
bool nodeUp = state->getNodeState(node).getState().oneOf("uir");
@@ -977,7 +976,11 @@ FileStorManager::updateState()
Deactivator deactivator;
_component.getBucketSpaceRepo().forEachBucket(deactivator, "FileStorManager::updateState");
}
- _provider->setClusterState(spiState);
+ for (const auto &elem : _component.getBucketSpaceRepo()) {
+ BucketSpace bucketSpace(elem.first);
+ spi::ClusterState spiState(*state, _component.getIndex(), *_component.getDistribution());
+ _provider->setClusterState(bucketSpace, spiState);
+ }
_nodeUpInLastNodeStateSeenByProvider = nodeUp;
}
diff --git a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
index 15b0a469b35..056561e8e21 100644
--- a/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
+++ b/storage/src/vespa/storage/persistence/provider_error_wrapper.cpp
@@ -55,9 +55,9 @@ ProviderErrorWrapper::listBuckets(BucketSpace bucketSpace, spi::PartitionId part
}
spi::Result
-ProviderErrorWrapper::setClusterState(const spi::ClusterState& state)
+ProviderErrorWrapper::setClusterState(BucketSpace bucketSpace, const spi::ClusterState& state)
{
- return checkResult(_impl.setClusterState(state));
+ return checkResult(_impl.setClusterState(bucketSpace, state));
}
spi::Result
diff --git a/storage/src/vespa/storage/persistence/provider_error_wrapper.h b/storage/src/vespa/storage/persistence/provider_error_wrapper.h
index 122837e75ed..3b5ace90d13 100644
--- a/storage/src/vespa/storage/persistence/provider_error_wrapper.h
+++ b/storage/src/vespa/storage/persistence/provider_error_wrapper.h
@@ -44,7 +44,7 @@ public:
spi::Result initialize() override;
spi::PartitionStateListResult getPartitionStates() const override;
spi::BucketIdListResult listBuckets(BucketSpace bucketSpace, spi::PartitionId) const override;
- spi::Result setClusterState(const spi::ClusterState&) override;
+ spi::Result setClusterState(BucketSpace bucketSpace, const spi::ClusterState&) override;
spi::Result setActiveState(const spi::Bucket& bucket, spi::BucketInfo::ActiveState newState) override;
spi::BucketInfoResult getBucketInfo(const spi::Bucket&) const override;
spi::Result put(const spi::Bucket&, spi::Timestamp, const spi::DocumentSP&, spi::Context&) override;