コード例 #1
0
ファイル: grid.cpp プロジェクト: lebronhkh/mongo
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);
}
コード例 #2
0
ファイル: grid.cpp プロジェクト: CeperaCPP/mongo
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);
}