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; }