controller.registerHandler(RestRequest.Method.GET, "/{index}/_ping/broadcast", this);
controller.registerHandler(RestRequest.Method.GET, "/_cluster/{index}/_ping/broadcast", this);
}
@Override public void handleRequest(final RestRequest request, final RestChannel channel) {
BroadcastPingRequest broadcastPingRequest = new BroadcastPingRequest(RestActions.splitIndices(request.param("index")));
broadcastPingRequest.queryHint(request.param("query_hint"));
BroadcastOperationThreading operationThreading = BroadcastOperationThreading.fromString(request.param("operation_threading"), BroadcastOperationThreading.SINGLE_THREAD);
if (operationThreading == BroadcastOperationThreading.NO_THREADS) {
// since we don't spawn, don't allow no_threads, but change it to a single thread
operationThreading = BroadcastOperationThreading.SINGLE_THREAD;
}
broadcastPingRequest.operationThreading(operationThreading);
client.admin().cluster().ping(broadcastPingRequest, new ActionListener<BroadcastPingResponse>() {
@Override public void onResponse(BroadcastPingResponse response) {
try {
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
builder.startObject();