bool Grid::getConfigShouldBalance() const { auto balSettingsResult = grid.catalogManager()->getGlobalSettings(SettingsType::BalancerDocKey); if (!balSettingsResult.isOK()) { warning() << balSettingsResult.getStatus(); return false; } SettingsType balSettings = balSettingsResult.getValue(); if (!balSettings.isKeySet()) { // Balancer settings doc does not exist. Default to yes. return true; } return shouldBalance(balSettings); }
bool Grid::getConfigShouldBalance(OperationContext* txn) const { auto balSettingsResult = grid.catalogManager(txn)->getGlobalSettings(txn, SettingsType::BalancerDocKey); if (!balSettingsResult.isOK()) { if (balSettingsResult == ErrorCodes::NoMatchingDocument) { // Settings document for balancer does not exist, default to balancing allowed. return true; } warning() << balSettingsResult.getStatus(); return false; } SettingsType balSettings = balSettingsResult.getValue(); if (!balSettings.isKeySet()) { // Balancer settings doc does not exist. Default to yes. return true; } return shouldBalance(balSettings); }