MCPcopy Create free account
hub / github.com/apple/foundationdb / configurationFetcher

Function configurationFetcher

fdbserver/Status.actor.cpp:1674–1704  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1672}
1673
1674static JsonBuilderObject configurationFetcher(Optional<DatabaseConfiguration> conf,
1675 ServerCoordinators coordinators,
1676 std::set<std::string>* incomplete_reasons) {
1677 JsonBuilderObject statusObj;
1678 try {
1679 if (conf.present()) {
1680 DatabaseConfiguration configuration = conf.get();
1681 statusObj.addContents(configuration.toJSON());
1682
1683 JsonBuilderArray excludedServersArr;
1684 std::set<AddressExclusion> excludedServers = configuration.getExcludedServers();
1685 for (std::set<AddressExclusion>::iterator it = excludedServers.begin(); it != excludedServers.end(); it++) {
1686 JsonBuilderObject statusObj;
1687 statusObj["address"] = it->toString();
1688 excludedServersArr.push_back(statusObj);
1689 }
1690 std::set<std::string> excludedLocalities = configuration.getExcludedLocalities();
1691 for (const auto& it : excludedLocalities) {
1692 JsonBuilderObject statusObj;
1693 statusObj["locality"] = it;
1694 excludedServersArr.push_back(statusObj);
1695 }
1696 statusObj["excluded_servers"] = excludedServersArr;
1697 }
1698 int count = coordinators.clientLeaderServers.size();
1699 statusObj["coordinators_count"] = count;
1700 } catch (Error&) {
1701 incomplete_reasons->insert("Could not retrieve all configuration status information.");
1702 }
1703 return statusObj;
1704}
1705
1706ACTOR static Future<JsonBuilderObject> dataStatusFetcher(WorkerDetails ddWorker,
1707 DatabaseConfiguration configuration,

Callers 1

Calls 11

getExcludedServersMethod · 0.80
getExcludedLocalitiesMethod · 0.80
getMethod · 0.65
presentMethod · 0.45
toJSONMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
toStringMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected