Search in sources :

Example 1 with GetTaskRequest

use of org.opensearch.client.tasks.GetTaskRequest in project OpenSearch by opensearch-project.

the class TasksRequestConverters method getTask.

static Request getTask(GetTaskRequest getTaskRequest) {
    String endpoint = new EndpointBuilder().addPathPartAsIs("_tasks").addPathPartAsIs(getTaskRequest.getNodeId() + ":" + Long.toString(getTaskRequest.getTaskId())).build();
    Request request = new Request(HttpGet.METHOD_NAME, endpoint);
    RequestConverters.Params params = new RequestConverters.Params();
    params.withTimeout(getTaskRequest.getTimeout()).withWaitForCompletion(getTaskRequest.getWaitForCompletion());
    request.addParameters(params.asMap());
    return request;
}
Also used : CancelTasksRequest(org.opensearch.client.tasks.CancelTasksRequest) GetTaskRequest(org.opensearch.client.tasks.GetTaskRequest) ListTasksRequest(org.opensearch.action.admin.cluster.node.tasks.list.ListTasksRequest) EndpointBuilder(org.opensearch.client.RequestConverters.EndpointBuilder)

Example 2 with GetTaskRequest

use of org.opensearch.client.tasks.GetTaskRequest in project OpenSearch by opensearch-project.

the class TasksIT method testGetValidTask.

public void testGetValidTask() throws Exception {
    // Run a Reindex to create a task
    final String sourceIndex = "source1";
    final String destinationIndex = "dest";
    Settings settings = Settings.builder().put("number_of_shards", 1).put("number_of_replicas", 0).build();
    createIndex(sourceIndex, settings);
    createIndex(destinationIndex, settings);
    BulkRequest bulkRequest = new BulkRequest().add(new IndexRequest(sourceIndex).id("1").source(Collections.singletonMap("foo", "bar"), XContentType.JSON)).add(new IndexRequest(sourceIndex).id("2").source(Collections.singletonMap("foo2", "bar2"), XContentType.JSON)).setRefreshPolicy(RefreshPolicy.IMMEDIATE);
    assertEquals(RestStatus.OK, highLevelClient().bulk(bulkRequest, RequestOptions.DEFAULT).status());
    final ReindexRequest reindexRequest = new ReindexRequest().setSourceIndices(sourceIndex).setDestIndex(destinationIndex);
    final TaskSubmissionResponse taskSubmissionResponse = highLevelClient().submitReindexTask(reindexRequest, RequestOptions.DEFAULT);
    final String taskId = taskSubmissionResponse.getTask();
    assertNotNull(taskId);
    TaskId childTaskId = new TaskId(taskId);
    GetTaskRequest gtr = new GetTaskRequest(childTaskId.getNodeId(), childTaskId.getId());
    gtr.setWaitForCompletion(randomBoolean());
    Optional<GetTaskResponse> getTaskResponse = execute(gtr, highLevelClient().tasks()::get, highLevelClient().tasks()::getAsync);
    assertTrue(getTaskResponse.isPresent());
    GetTaskResponse taskResponse = getTaskResponse.get();
    if (gtr.getWaitForCompletion()) {
        assertTrue(taskResponse.isCompleted());
    }
    org.opensearch.tasks.TaskInfo info = taskResponse.getTaskInfo();
    assertTrue(info.isCancellable());
    assertEquals("reindex from [source1] to [dest]", info.getDescription());
    assertEquals("indices:data/write/reindex", info.getAction());
    if (taskResponse.isCompleted() == false) {
        assertBusy(checkTaskCompletionStatus(client(), taskId));
    }
}
Also used : GetTaskRequest(org.opensearch.client.tasks.GetTaskRequest) TaskSubmissionResponse(org.opensearch.client.tasks.TaskSubmissionResponse) TaskId(org.opensearch.client.tasks.TaskId) GetTaskResponse(org.opensearch.client.tasks.GetTaskResponse) IndexRequest(org.opensearch.action.index.IndexRequest) ReindexRequest(org.opensearch.index.reindex.ReindexRequest) BulkRequest(org.opensearch.action.bulk.BulkRequest) Settings(org.opensearch.common.settings.Settings)

Example 3 with GetTaskRequest

use of org.opensearch.client.tasks.GetTaskRequest in project OpenSearch by opensearch-project.

the class TasksIT method testGetInvalidTask.

public void testGetInvalidTask() throws IOException {
    // Check 404s are returned as empty Optionals
    GetTaskRequest gtr = new GetTaskRequest("doesNotExistNodeName", 123);
    Optional<GetTaskResponse> getTaskResponse = execute(gtr, highLevelClient().tasks()::get, highLevelClient().tasks()::getAsync);
    assertFalse(getTaskResponse.isPresent());
}
Also used : GetTaskRequest(org.opensearch.client.tasks.GetTaskRequest) GetTaskResponse(org.opensearch.client.tasks.GetTaskResponse)

Aggregations

GetTaskRequest (org.opensearch.client.tasks.GetTaskRequest)3 GetTaskResponse (org.opensearch.client.tasks.GetTaskResponse)2 ListTasksRequest (org.opensearch.action.admin.cluster.node.tasks.list.ListTasksRequest)1 BulkRequest (org.opensearch.action.bulk.BulkRequest)1 IndexRequest (org.opensearch.action.index.IndexRequest)1 EndpointBuilder (org.opensearch.client.RequestConverters.EndpointBuilder)1 CancelTasksRequest (org.opensearch.client.tasks.CancelTasksRequest)1 TaskId (org.opensearch.client.tasks.TaskId)1 TaskSubmissionResponse (org.opensearch.client.tasks.TaskSubmissionResponse)1 Settings (org.opensearch.common.settings.Settings)1 ReindexRequest (org.opensearch.index.reindex.ReindexRequest)1