Closed as not planned
Closed as not planned
Description
Elasticsearch Version
8.6.2
Installed Plugins
No response
Java Version
_bundled_17
OS Version
Linux codon-slurm-login-01.ebi.ac.uk 4.18.0-513.5.1.el8_9.x86_64 #1 SMP Fri Nov 17 03:31:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Problem Description
I am on java 17 and using below elastic libraries :
implementation group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '5.1.12'
implementation group: 'org.elasticsearch.client', name: 'elasticsearch-rest-client', version: '8.6.2'
Below is my Code Snippet.
private ElasticsearchClient restHighLevelClient;
private void executeEnrichPolicy(ElasticsearchEnrichClient enrichClient, String policyName) throws IOException {
log.info("executing:{}", policyName);
ApiTypeHelper.DANGEROUS_disableRequiredPropertiesCheck(true);
ExecutePolicyRequest executePolicyRequest = ExecutePolicyRequest.of(e -> e.name(policyName).
waitForCompletion(false));
final ExecutePolicyResponse executePolicyResponse = enrichClient.executePolicy(executePolicyRequest);
String taskId = executePolicyResponse.taskId();
pollForTaskCompletion(taskId);
ApiTypeHelper.DANGEROUS_disableRequiredPropertiesCheck(false);
log.info("policy executed:{}", executePolicyResponse.status().toString());
}
@SneakyThrows
private void pollForTaskCompletion(String taskId) {
ElasticsearchTasksClient tasksClient = restHighLevelClient.tasks();
while (true) {
GetTasksRequest getTasksRequest = GetTasksRequest.of(builder -> builder.taskId(taskId));
GetTasksResponse getTasksResponse = tasksClient.get(getTasksRequest);
if (getTasksResponse.task() == null) {
log.info("Task completed: {}", taskId);
break;
} else {
log.info("Task {} is still running.", taskId);
}
Thread.sleep(60000);
}
}
I want to execute enrich policy with waitForCompletion set to false. I get taskId as null. However when I execute the same executePolicyRequest in Kibana, it returns the taskId.
Steps to Reproduce
Set waitForCompletion to false in ExecutePolicyRequest and get ExecutePolicyResponse.
Logs (if relevant)
No response