The following invocation seems to stabilise very well, generating overwhelmingly many events for the linearizability checker to check, leading to an OOME:

`./gradlew ':server:test' --tests "org.elasticsearch.cluster.coordination.AtomicRegisterCoordinatorTests.testAppliesNoMasterBlockAllIfConfigured" -Dtests.seed=9BFB03AB5780EC10`

Seen on a recent commit to `main`, 1fef466f50d9936b6cfe8295e943f1a6c3f6f2f2.
test/framework/src/main/java/org/elasticsearch/cluster/coordination/AbstractCoordinatorTestCase.java
}
                    final MockGatewayMetaState gatewayMetaState = new MockGatewayMetaState(newLocalNode);
                    gatewayMetaState.start(Settings.EMPTY, nodeEnvironment, xContentRegistry());
                    delegate = gatewayMetaState.getPersistedState();
                } else {
                    nodeEnvironment = null;
                    BytesStreamOutput outStream = new BytesStreamOutput();
                    outStream.setTransportVersion(TransportVersion.current());
                    final long persistedCurrentTerm;
                    if ( 
                    (oldState.getLastAcceptedState().nodes().getLocalNode().isMasterNode() && newLocalNode.isMasterNode()) == false
                        
                        && (oldState.getLastAcceptedState().term() > 0L || oldState.getLastAcceptedState().version() > 0L)
                        
                        && randomBoolean()) {
                        
                        persistedCurrentTerm = randomLongBetween(0L, oldState.getCurrentTerm());
                        final long lastAcceptedTerm = oldState.getLastAcceptedState().term();
                        final long lastAcceptedVersion = oldState.getLastAcceptedState().version();
                        final long newLastAcceptedTerm;
                        final long newLastAcceptedVersion;
                        if (lastAcceptedVersion == 0L) {
                            newLastAcceptedTerm = randomLongBetween(0L, Math.min(persistedCurrentTerm, lastAcceptedTerm - 1));
                            newLastAcceptedVersion = randomNonNegativeLong();
                        } else {
                            newLastAcceptedTerm = randomLongBetween(0L, Math.min(persistedCurrentTerm, lastAcceptedTerm));
                            newLastAcceptedVersion = randomLongBetween(
                                0L,
                                newLastAcceptedTerm == lastAcceptedTerm ? lastAcceptedVersion - 1 : Long.MAX_VALUE
                            );