in src/main/java/com/vispana/vespa/state/assemblers/ContentAssembler.java [40:79]
public static ContentNodes assemble(
String configHost,
VespaVersion vespaVersion,
Map<String, MetricsNode> vespaMetrics,
String appUrl,
ApplicationPackage appPackage,
String configHostName) {
var contentDistributionUrl = configHost + "/config/v1/vespa.config.content.distribution/";
var contentClusters =
requestGet(contentDistributionUrl, ContentDistributionSchema.class).getConfigs().stream()
.map(NameExtractorFromUrl::nameFromUrl)
.map(
clusterName -> {
var dispatcher =
fetchDispatcherData(
configHost, clusterName, vespaVersion, appPackage, configHostName);
var schemas = fetchSchemas(configHost, clusterName);
var contentDistribution = fetchContentDistributionData(configHost, clusterName);
var distribution =
contentDistribution.getCluster().getAdditionalProperties().get(clusterName);
var redundancy = distribution.getRedundancy().intValue();
var copies = distribution.getReadyCopies().intValue();
var hostsPerGroup = hostsPerGroup(distribution);
var hostsCount = hostsPerGroup.size();
var contentOverview =
new ContentOverview(hostsCount, copies, redundancy, hostsPerGroup);
var contentNodes = contentNodes(vespaMetrics, clusterName, dispatcher);
var contentData = fetchSchemaContent(appUrl, schemas, contentNodes);
return new ContentCluster(
clusterName, contentOverview, contentData, contentNodes);
})
.toList();
return new ContentNodes(contentClusters);
}