/** * Returns a connection to the given node on the provided cluster. If the cluster alias is <code>null</code> the node will be resolved * against the local cluster. * @param clusterAlias the cluster alias the node should be resolve against * @param node the node to resolve * @return a connection to the given node belonging to the cluster with the provided alias. */ Transport.Connection getConnection(String clusterAlias, DiscoveryNode node) { if (clusterAlias == null) { return transportService.getConnection(node); } else { return transportService.getRemoteClusterService().getConnection(node, clusterAlias); } }
@Override protected <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> void doExecute(Action<Request, Response, RequestBuilder> action, Request request, ActionListener<Response> listener) { remoteClusterService.ensureConnected(clusterAlias, ActionListener.wrap(res -> { Transport.Connection connection = remoteClusterService.getConnection(clusterAlias); service.sendRequest(connection, action.name(), request, TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, action.getResponseReader())); }, listener::onFailure)); }
/** * Returns a connection to the given node on the provided cluster. If the cluster alias is <code>null</code> the node will be resolved * against the local cluster. * @param clusterAlias the cluster alias the node should be resolve against * @param node the node to resolve * @return a connection to the given node belonging to the cluster with the provided alias. */ Transport.Connection getConnection(String clusterAlias, DiscoveryNode node) { if (clusterAlias == null) { return transportService.getConnection(node); } else { return transportService.getRemoteClusterService().getConnection(node, clusterAlias); } }
/** * Returns a connection to the given node on the provided cluster. If the cluster alias is <code>null</code> the node will be resolved * against the local cluster. * @param clusterAlias the cluster alias the node should be resolve against * @param node the node to resolve * @return a connection to the given node belonging to the cluster with the provided alias. */ Transport.Connection getConnection(String clusterAlias, DiscoveryNode node) { if (clusterAlias == null) { return transportService.getConnection(node); } else { return transportService.getRemoteClusterService().getConnection(node, clusterAlias); } } }
@Override protected <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> void doExecute(Action<Request, Response, RequestBuilder> action, Request request, ActionListener<Response> listener) { remoteClusterService.ensureConnected(clusterAlias, ActionListener.wrap(res -> { Transport.Connection connection = remoteClusterService.getConnection(clusterAlias); service.sendRequest(connection, action.name(), request, TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, action::newResponse)); }, listener::onFailure)); }
@Override protected <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> void doExecute(Action<Request, Response, RequestBuilder> action, Request request, ActionListener<Response> listener) { remoteClusterService.ensureConnected(clusterAlias, ActionListener.wrap(res -> { Transport.Connection connection = remoteClusterService.getConnection(clusterAlias); service.sendRequest(connection, action.name(), request, TransportRequestOptions.EMPTY, new ActionListenerResponseHandler<>(listener, action::newResponse)); }, listener::onFailure)); }
Transport.Connection connection = remoteClusterService.getConnection(clusterAlias); FieldCapabilitiesRequest remoteRequest = new FieldCapabilitiesRequest(); remoteRequest.setMergeResults(false); // we need to merge on this node