#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.
server/src/test/java/org/elasticsearch/cluster/coordination/AtomicRegisterCoordinatorTests.java
}
            cluster.stabilise();
        }
    }
    @Override
    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/98423")
    public void testElectionSchedulingAfterDiscoveryOutage() {}
    @Override
    protected CoordinatorStrategy createCoordinatorStrategy() {
        return new AtomicRegisterCoordinatorStrategy();
    }
    class AtomicRegisterCoordinatorStrategy implements CoordinatorStrategy {
        private final AtomicLong currentTermRef = new AtomicLong();
        private final AtomicReference<Heartbeat> heartBeatRef = new AtomicReference<>();
        private final SharedStore sharedStore = new SharedStore();
        private boolean disruptElections;
        private boolean disruptPublications;
        @Override
        public CoordinationServices getCoordinationServices(
            ThreadPool threadPool,
            Settings settings,
            ClusterSettings clusterSettings,
            CoordinationState.PersistedState persistedState,
            DisruptibleRegisterConnection disruptibleRegisterConnection
        ) {
            final TimeValue heartbeatFrequency = HEARTBEAT_FREQUENCY.get(settings);
            final var atomicRegister = new AtomicRegister(currentTermRef, disruptibleRegisterConnection);
            final var atomicHeartbeat = new StoreHeartbeatService(
                new DisruptibleHeartbeatStore(new SharedHeartbeatStore(heartBeatRef), disruptibleRegisterConnection),
                threadPool,