Better master exists should not trigger if it will lower the total number of processes being recruited

This commit is contained in:
Evan Tschannen 2021-03-16 12:14:19 -07:00
parent 6bed45fc6d
commit 10fd094920

View File

@ -1567,11 +1567,17 @@ public:
return false;
}
if (oldTLogFit.count + oldInFit.proxy.count + oldInFit.grvProxy.count + oldInFit.resolver.count >
newTLogFit.count + newInFit.proxy.count + newInFit.grvProxy.count + newInFit.resolver.count) {
return false;
}
// Check backup worker fitness
RoleFitness oldBackupWorkersFit(backup_workers, ProcessClass::Backup);
const int nBackup = backup_addresses.size();
RoleFitness newBackupWorkersFit(
getWorkersForRoleInDatacenter(clusterControllerDcId, ProcessClass::Backup, nBackup, db.config, id_used),
getWorkersForRoleInDatacenter(
clusterControllerDcId, ProcessClass::Backup, nBackup, db.config, id_used, true),
ProcessClass::Backup);
if (oldTLogFit > newTLogFit || oldInFit > newInFit || oldSatelliteTLogFit > newSatelliteTLogFit ||