### 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/transport/TransportService.java
final TransportResponseHandler<?> handler = holderToNotify.handler();
                    final var targetNode = holderToNotify.connection().getNode();
                    assert transport instanceof TcpTransport == false
                        
                        || targetNode.equals(localNode)
                        
                        || holderToNotify.connection().isClosed()
                        
                        : "expected only responses for local "
                            + localNode
                            + " but found handler for ["
                            + holderToNotify.action()
                            + "] on open connection to "
                            + targetNode;
                    final var exception = new SendRequestTransportException(
                        targetNode,
                        holderToNotify.action(),
                        new NodeClosedException(localNode)
                    );
                    final var executor = handler.executor();
                    if (executor.equals(ThreadPool.Names.SAME)) {
                        handler.handleException(exception);
                    } else {
                        threadPool.executor(executor).execute(new ForkingResponseHandlerRunnable(handler, exception) {
                            @Override
                            protected void doRun() {
                                handler.handleException(exception);
                            }
                        });
                    }