https://github.com/elastic/elasticsearch/pull/97304 removes several places that might do an expensive rebuild of the cluster state via `getStateForMasterService`. There's one other call we should be able to remove, in `JoinValidationService`, but it's a little tricky since we rely on seeing the last-accepted state for the cluster UUID validation, and it's not obviously ok to expose the last-accepted state without the no-master block.

This is a fairly minor issue because we do not do this join validation during elections, only if we're the elected master, and in that case `getStateForMasterService` is cheap. But that's not guaranteed, and we should strengthen this to avoid the that expensive step whenever possible.
server/src/main/java/org/elasticsearch/cluster/coordination/Coordinator.java
validateStateListener.addListener(validateListener.map(ignored -> null));
            }
            @Override
            public void onFailure(Exception e) {
                
                
                validateStateListener.addListener(new ActionListener<>() {
                    @Override
                    public void onResponse(Empty empty) {
                        validateListener.onFailure(e);
                    }
                    @Override
                    public void onFailure(Exception e2) {
                        e2.addSuppressed(e);
                        validateListener.onFailure(e2);
                    }
                });
            }
        });
    }
    private void sendJoinValidate(DiscoveryNode discoveryNode, ActionListener<Empty> listener) {
        joinValidationService.validateJoin(discoveryNode, listener.delegateResponse((delegate, e) -> {
            logger.warn(() -> "failed to validate incoming join request from node [" + discoveryNode + "]", e);
            delegate.onFailure(
                new IllegalStateException(
                    String.format(
                        Locale.ROOT,
                        "failure when sending a join validation request from [%s] to [%s]",
                        getLocalNode().descriptionWithoutAttributes(),
                        discoveryNode.descriptionWithoutAttributes()