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
final var metrics = ClusterState.Metric.parseString(params.param("metric", "_all"), true);
        long chunkCount = 0;
        
        chunkCount += 1;
        
        if (metrics.contains(ClusterState.Metric.BLOCKS)) {
            chunkCount += 2 + clusterState.blocks().indices().size();
        }
        
        if (metrics.contains(ClusterState.Metric.NODES)) {
            chunkCount += 4 + clusterState.nodes().size() + clusterState.compatibilityVersions().size();
        }
        
        if (metrics.contains(ClusterState.Metric.METADATA)) {
            chunkCount += MetadataTests.expectedChunkCount(params, clusterState.metadata());
        }
        
        if (metrics.contains(ClusterState.Metric.ROUTING_TABLE)) {
            chunkCount += 2;
            for (IndexRoutingTable indexRoutingTable : clusterState.routingTable()) {
                chunkCount += 2;
                for (int shardId = 0; shardId < indexRoutingTable.size(); shardId++) {
                    chunkCount += 2 + indexRoutingTable.shard(shardId).size();
                }
            }
        }
        
        if (metrics.contains(ClusterState.Metric.ROUTING_NODES)) {
            final var routingNodes = clusterState.getRoutingNodes();
            chunkCount += 4 + routingNodes.unassigned().size();