#98420 verifies that the election scheduler is not running when a cluster is stable, but this assertion does not hold in the `AtomicRegisterCoordinatorTests` suite. This issue tracks the work to investigate and fix up the problem.
test/framework/src/main/java/org/elasticsearch/cluster/coordination/AbstractCoordinatorTestCase.java
clusterService.stop();
                    
                    clusterService.close();
                    coordinator.close();
                    
                }).run();
            }
            ClusterNode restartedNode() {
                return restartedNode(Function.identity(), Function.identity(), nodeSettings);
            }
            ClusterNode restartedNode(
                Function<Metadata, Metadata> adaptGlobalMetadata,
                Function<Long, Long> adaptCurrentTerm,
                Settings settings
            ) {
                final DiscoveryNode newLocalNode = DiscoveryNodeUtils.builder(localNode.getId())
                    .name(localNode.getName())
                    .ephemeralId(UUIDs.randomBase64UUID(random()))  
                    .address(randomBoolean() ? buildNewFakeTransportAddress() : localNode.getAddress())
                    .roles(localNode.isMasterNode() && DiscoveryNode.isMasterNode(settings) ? ALL_ROLES_EXCEPT_VOTING_ONLY : emptySet())
                    .build();
                try {
                    return new ClusterNode(
                        nodeIndex,
                        newLocalNode,
                        (node, threadPool) -> createPersistedStateFromExistingState(
                            newLocalNode,
                            persistedState,
                            adaptGlobalMetadata,
                            adaptCurrentTerm,