Coordinator should reply clientInfo when it changes.

This bug is introduced in #5231.
This commit is contained in:
Renxuan Wang 2021-12-10 13:56:12 -08:00
parent 6978486e85
commit 5b079acd66

View File

@ -223,11 +223,8 @@ ACTOR Future<Void> openDatabase(ClientData* db,
replyContents = failed_to_progress();
break;
}
when(wait(yieldedFuture(db->clientInfo->onChange()))) {}
when(wait(yieldedFuture(db->clientInfo->onChange()))) { replyContents = db->clientInfo->get(); }
when(wait(delayJittered(SERVER_KNOBS->CLIENT_REGISTER_INTERVAL))) {
if (req.supportedVersions.size() > 0) {
db->clientStatusInfoMap.erase(req.reply.getEndpoint().getPrimaryAddress());
}
if (db->clientInfo->get().read().id.isValid()) {
replyContents = db->clientInfo->get();
}
@ -237,6 +234,10 @@ ACTOR Future<Void> openDatabase(ClientData* db,
}
}
if (req.supportedVersions.size() > 0) {
db->clientStatusInfoMap.erase(req.reply.getEndpoint().getPrimaryAddress());
}
if (replyContents.present()) {
req.reply.send(replyContents.get());
} else {