retain old behaviour along with explicit request

This commit is contained in:
Jon Fu 2021-11-03 17:23:07 -04:00
parent 59f0a2c3e5
commit 4e8625ccc0
1 changed files with 3 additions and 0 deletions

View File

@ -3876,6 +3876,8 @@ ACTOR Future<Void> workerAvailabilityWatch(WorkerInterface worker,
: waitFailureClient(worker.waitFailure, SERVER_KNOBS->WORKER_FAILURE_TIME);
cluster->updateWorkerList.set(worker.locality.processId(),
ProcessData(worker.locality, startingClass, worker.stableAddress()));
cluster->updateDBInfoEndpoints.insert(worker.updateServerDBInfo.getEndpoint());
cluster->updateDBInfo.trigger();
// This switching avoids a race where the worker can be added to id_worker map after the workerAvailabilityWatch
// fails for the worker.
wait(delay(0));
@ -4311,6 +4313,7 @@ void registerWorker(RegisterWorkerRequest req, ClusterControllerData* self, Conf
info->second.issues = req.issues;
if (info->second.details.interf.id() != w.id()) {
self->removedDBInfoEndpoints.insert(info->second.details.interf.updateServerDBInfo.getEndpoint());
info->second.details.interf = w;
info->second.watcher = workerAvailabilityWatch(w, newProcessClass, self);
}