#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
private MasterHistoryService masterHistoryService;
            CoordinationDiagnosticsService coordinationDiagnosticsService;
            StableMasterHealthIndicatorService stableMasterHealthIndicatorService;
            private DisruptableMockTransport mockTransport;
            private final NodeHealthService nodeHealthService;
            List<BiConsumer<DiscoveryNode, ClusterState>> extraJoinValidators = new ArrayList<>();
            private ClearableRecycler clearableRecycler;
            private List<Runnable> blackholedRegisterOperations = new ArrayList<>();
            ClusterNode(int nodeIndex, boolean masterEligible, Settings nodeSettings, NodeHealthService nodeHealthService) {
                this(
                    nodeIndex,
                    createDiscoveryNode(nodeIndex, masterEligible),
                    Cluster.this::createFreshPersistedState,
                    nodeSettings,
                    nodeHealthService
                );
            }
            ClusterNode(
                int nodeIndex,
                DiscoveryNode localNode,
                BiFunction<DiscoveryNode, ThreadPool, CoordinationState.PersistedState> persistedStateSupplier,
                Settings nodeSettings,
                NodeHealthService nodeHealthService
            ) {
                this.nodeHealthService = nodeHealthService;
                this.nodeIndex = nodeIndex;
                this.localNode = localNode;
                this.nodeSettings = nodeSettings;
                final ThreadPool threadPool = deterministicTaskQueue.getThreadPool(this::onNode);
                persistedState = persistedStateSupplier.apply(localNode, threadPool);