From a838a47b0bbe7da9c09d202786a2d03dfa00c430 Mon Sep 17 00:00:00 2001 From: Lukas Joswiak <lukas.joswiak@snowflake.com> Date: Tue, 10 Aug 2021 12:27:19 -0700 Subject: [PATCH] Use ActorCollection for consumer future --- fdbserver/ConfigBroadcaster.actor.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fdbserver/ConfigBroadcaster.actor.cpp b/fdbserver/ConfigBroadcaster.actor.cpp index 46ad0a1256..25f1097dc6 100644 --- a/fdbserver/ConfigBroadcaster.actor.cpp +++ b/fdbserver/ConfigBroadcaster.actor.cpp @@ -70,7 +70,6 @@ class ConfigBroadcasterImpl { Version lastCompactedVersion; Version mostRecentVersion; std::unique_ptr<IConfigConsumer> consumer; - Future<Void> consumerFuture; ActorCollection actors{ false }; std::vector<BroadcastClientDetails> clients; @@ -170,11 +169,11 @@ public: Future<Void> watcher, ConfigBroadcastInterface broadcastInterface) { if (!consumerFuture.isValid()) { - consumerFuture = consumer->consume(*self); + actors.add(consumer->consume(*self)); } clients.push_back(BroadcastClientDetails{ watcher, std::move(configClassSet), lastSeenVersion, std::move(broadcastInterface) }); - this->actors.add(waitForFailure(this, watcher, &clients.back())); + actors.add(waitForFailure(this, watcher, &clients.back())); // Push all dynamic knobs to worker if it isn't up to date. if (clients.back().lastSeenVersion >= mostRecentVersion) { @@ -296,7 +295,7 @@ public: } } - Future<Void> getError() const { return consumerFuture; } + Future<Void> getError() const { return actors.getResult(); } UID getID() const { return id; }