### Description

The `sendRequest` method is asynchronous and notifies a 
`TransportResponseHandler` when it completes the excecution
(successfully or unsuccessfully). 

When opening the connection we only catch `NodeNotConnectedException`
( https://github.com/elastic/elasticsearch/blob/main/server/src/main/java/org/elasticsearch/transport/TransportService.java#L719 ) which is currently fine as no implementations
throw other type of exception however, it'd be best to catch `Exception` here
so the `handler` gets notified of potential exceptions (as opposed to the caller
having to `try/catch` the call to `sendRequest`)
server/src/main/java/org/elasticsearch/cluster/coordination/CoordinationDiagnosticsService.java
Scheduler.Cancellable cancellable = cancellableReference.get();
                if (cancellable != null) {
                    cancellable.cancel();
                }
            }
        };
    }
    /**
     * This method returns quickly, but in the background schedules to query the remote masterEligibleNode's cluster diagnostics in 10
     * seconds unless cancel() is called on the Cancellable that this method returns.
     * @param masterEligibleNode The masterEligibleNode to poll for cluster diagnostics. This masterEligibleNode can be null in the case
     *                           when there are not yet any master-eligible nodes known to this masterEligibleNode's PeerFinder.
     * @param responseConsumer The consumer of the cluster diagnostics for the masterEligibleNode, or the exception encountered while
     *                         contacting it
     * @return A Cancellable for the task that is scheduled to fetch cluster diagnostics
     */
    private Scheduler.Cancellable fetchCoordinationDiagnostics(
        @Nullable DiscoveryNode masterEligibleNode,
        Consumer<RemoteMasterHealthResult> responseConsumer
    ) {
        return sendTransportRequest(
            masterEligibleNode,
            responseConsumer,
            CoordinationDiagnosticsAction.INSTANCE,
            new CoordinationDiagnosticsAction.Request(true),
            (response, e) -> {
                assert response != null || e != null : "a response or an exception must be provided";
                if (response != null) {
                    return new RemoteMasterHealthResult(masterEligibleNode, response.getCoordinationDiagnosticsResult(), null);
                } else {