#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
private final AtomicReference<Heartbeat> hearbeatRef;
        SharedHeartbeatStore(AtomicReference<Heartbeat> hearbeatRef) {
            this.hearbeatRef = hearbeatRef;
        }
        @Override
        public void writeHeartbeat(Heartbeat newHeartbeat, ActionListener<Void> listener) {
            hearbeatRef.set(newHeartbeat);
            listener.onResponse(null);
        }
        @Override
        public void readLatestHeartbeat(ActionListener<Heartbeat> listener) {
            listener.onResponse(hearbeatRef.get());
        }
    }
    private static class AtomicRegister {
        private final AtomicLong currentTermRef;
        private final DisruptibleRegisterConnection disruptibleRegisterConnection;
        AtomicRegister(AtomicLong currentTermRef, DisruptibleRegisterConnection disruptibleRegisterConnection) {
            this.currentTermRef = currentTermRef;
            this.disruptibleRegisterConnection = disruptibleRegisterConnection;
        }
        void readCurrentTerm(ActionListener<Long> listener) {
            disruptibleRegisterConnection.runDisrupted(listener, l -> l.onResponse(currentTermRef.get()));
        }
        void compareAndExchange(long expected, long updated, ActionListener<Long> listener) {
            disruptibleRegisterConnection.runDisrupted(listener, l -> l.onResponse(currentTermRef.compareAndExchange(expected, updated)));
        }
    }
    class AtomicRegisterPersistedState implements CoordinationState.PersistedState {