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/main/java/org/elasticsearch/indices/SystemIndexMappingUpdateService.java
} catch (Exception e) {
                        logger.warn("Failed to calculate upgrade status: {}" + e.getMessage(), e);
                        continue;
                    }
                    if (upgradeStatus == UpgradeStatus.NEEDS_MAPPINGS_UPDATE) {
                        upgradeIndexMappings(systemIndexDescriptor, ActionListener.releasing(refs.acquire()));
                    }
                }
            }
        } else {
            logger.trace("Update already in progress");
        }
    }
    /**
     * Checks all known system index descriptors, looking for those that correspond to
     * indices that can be automatically managed and that have already been created.
     * @param metadata the cluster state metadata to consult
     * @return a list of descriptors that could potentially be updated
     */
    List<SystemIndexDescriptor> getEligibleDescriptors(Metadata metadata) {
        return this.systemIndices.getSystemIndexDescriptors()
            .stream()
            .filter(SystemIndexDescriptor::isAutomaticallyManaged)
            .filter(d -> metadata.hasIndexAbstraction(d.getPrimaryIndex()))
            .toList();
    }
    enum UpgradeStatus {
        CLOSED,
        UNHEALTHY,
        NEEDS_UPGRADE,