summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-09-29 15:18:38 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-09-29 15:20:13 +0200
commit9c21ba2339433de72b58a99c856a68dd4de71d4e (patch)
tree1dac26b95d974dec21de2eaa2e95c92ce3c5035c /storage
parentcae8ba3bfc5573828a6e4a28d2616694b09cb616 (diff)
Add support for setting storage chain builder for distributor node.
Diffstat (limited to 'storage')
-rw-r--r--storage/src/vespa/storage/storageserver/distributornode.cpp6
-rw-r--r--storage/src/vespa/storage/storageserver/distributornode.h5
2 files changed, 9 insertions, 2 deletions
diff --git a/storage/src/vespa/storage/storageserver/distributornode.cpp b/storage/src/vespa/storage/storageserver/distributornode.cpp
index 3d1f9bbaf2e..8c2441b5eed 100644
--- a/storage/src/vespa/storage/storageserver/distributornode.cpp
+++ b/storage/src/vespa/storage/storageserver/distributornode.cpp
@@ -20,7 +20,8 @@ DistributorNode::DistributorNode(
DistributorNodeContext& context,
ApplicationGenerationFetcher& generationFetcher,
NeedActiveState activeState,
- StorageLink::UP communicationManager)
+ StorageLink::UP communicationManager,
+ std::unique_ptr<IStorageChainBuilder> storage_chain_builder)
: StorageNode(configUri, context, generationFetcher,
std::unique_ptr<HostInfo>(new HostInfo()),
communicationManager.get() == 0 ? NORMAL
@@ -32,6 +33,9 @@ DistributorNode::DistributorNode(
_manageActiveBucketCopies(activeState == NEED_ACTIVE_BUCKET_STATES_SET),
_retrievedCommunicationManager(std::move(communicationManager))
{
+ if (storage_chain_builder) {
+ set_storage_chain_builder(std::move(storage_chain_builder));
+ }
try{
initialize();
} catch (const vespalib::NetworkSetupFailureException & e) {
diff --git a/storage/src/vespa/storage/storageserver/distributornode.h b/storage/src/vespa/storage/storageserver/distributornode.h
index 39614674bb5..2a5149aa8ac 100644
--- a/storage/src/vespa/storage/storageserver/distributornode.h
+++ b/storage/src/vespa/storage/storageserver/distributornode.h
@@ -15,6 +15,8 @@
namespace storage {
+class IStorageChainBuilder;
+
class DistributorNode
: public StorageNode,
private UniqueTimeCalculator
@@ -38,7 +40,8 @@ public:
DistributorNodeContext&,
ApplicationGenerationFetcher& generationFetcher,
NeedActiveState,
- std::unique_ptr<StorageLink> communicationManager);
+ std::unique_ptr<StorageLink> communicationManager,
+ std::unique_ptr<IStorageChainBuilder> storage_chain_builder);
~DistributorNode() override;
const lib::NodeType& getNodeType() const override { return lib::NodeType::DISTRIBUTOR; }