From 9f9261436c17625d410590a533ed6d90c0e2634e Mon Sep 17 00:00:00 2001 From: Owais Kazi Date: Thu, 30 May 2024 14:20:15 -0700 Subject: [PATCH] Added workflow step for ReIndex Step (#718) * Initial commit for reindex workflow step with extra params Signed-off-by: owaiskazi19 * Addressed PR comments Signed-off-by: owaiskazi19 * Changed request per second to Float Signed-off-by: owaiskazi19 * Addressed string array for source indices and removed state index entry Signed-off-by: owaiskazi19 * Minor comments Signed-off-by: owaiskazi19 --------- Signed-off-by: owaiskazi19 --- .../opensearch/flowframework/workflow/ReindexStep.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/opensearch/flowframework/workflow/ReindexStep.java b/src/main/java/org/opensearch/flowframework/workflow/ReindexStep.java index c0da6369c..bc335db97 100644 --- a/src/main/java/org/opensearch/flowframework/workflow/ReindexStep.java +++ b/src/main/java/org/opensearch/flowframework/workflow/ReindexStep.java @@ -13,6 +13,7 @@ import org.opensearch.ExceptionsHelper; import org.opensearch.action.support.PlainActionFuture; import org.opensearch.client.Client; +import org.opensearch.common.Booleans; import org.opensearch.core.action.ActionListener; import org.opensearch.core.common.Strings; import org.opensearch.core.rest.RestStatus; @@ -90,9 +91,11 @@ public PlainActionFuture execute( String sourceIndices = (String) inputs.get(SOURCE_INDEX); String destinationIndex = (String) inputs.get(DESTINATION_INDEX); - Boolean refresh = ParseUtils.parseIfExists(inputs, REFRESH, Boolean.class); - Float requestsPerSecond = ParseUtils.parseIfExists(inputs, REQUESTS_PER_SECOND, Float.class); - Boolean requireAlias = ParseUtils.parseIfExists(inputs, REQUIRE_ALIAS, Boolean.class); + Boolean refresh = inputs.containsKey(REFRESH) ? Booleans.parseBoolean(inputs.get(REFRESH).toString()) : null; + Float requestsPerSecond = inputs.containsKey(REQUESTS_PER_SECOND) + ? Float.parseFloat(inputs.get(REQUESTS_PER_SECOND).toString()) + : null; + Boolean requireAlias = inputs.containsKey(REQUIRE_ALIAS) ? Booleans.parseBoolean(inputs.get(REQUIRE_ALIAS).toString()) : null; Integer slices = (Integer) inputs.get(SLICES); Integer maxDocs = (Integer) inputs.get(MAX_DOCS);