Once https://github.com/elastic/elasticsearch/issues/98503 is done, we can use our minimum version numbers in the SystemIndexMappingUpdate service instead of the old `Version` types. Mappings will be updated for a system index when all nodes have a matching descriptor mappings version for a system index, but this version is greater than what's stored in the mappings metadata.
server/src/test/java/org/elasticsearch/cluster/ClusterStateTests.java
for (RoutingNode routingNode : routingNodes) {
                chunkCount += 2 + routingNode.size();
            }
        }
        
        if (metrics.contains(ClusterState.Metric.CUSTOMS)) {
            for (ClusterState.Custom custom : clusterState.customs().values()) {
                chunkCount += 2;
                if (custom instanceof HealthMetadata) {
                    chunkCount += 1;
                } else if (custom instanceof RepositoryCleanupInProgress repositoryCleanupInProgress) {
                    chunkCount += 2 + repositoryCleanupInProgress.entries().size();
                } else if (custom instanceof RestoreInProgress restoreInProgress) {
                    chunkCount += 2 + Iterables.size(restoreInProgress);
                } else if (custom instanceof SnapshotDeletionsInProgress snapshotDeletionsInProgress) {
                    chunkCount += 2 + snapshotDeletionsInProgress.getEntries().size();
                } else if (custom instanceof SnapshotsInProgress snapshotsInProgress) {
                    chunkCount += 2 + snapshotsInProgress.asStream().count();
                } else {
                    
                    chunkCount += Iterables.size(
                        (Iterable<ToXContent>) (() -> Iterators.map(custom.toXContentChunked(params), Function.identity()))
                    );
                }
            }
        }
        return Math.toIntExact(chunkCount);
    }
}