From c13ebcf3284e434d9a1258cc46e38c7ab465a6c4 Mon Sep 17 00:00:00 2001 From: Krishna Kondaka Date: Fri, 5 Jan 2024 04:29:59 +0000 Subject: [PATCH] Addressed review comments Signed-off-by: Krishna Kondaka --- .../sink/opensearch/OpenSearchSinkIT.java | 17 +++++++++++++---- .../plugins/sink/opensearch/OpenSearchSink.java | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/data-prepper-plugins/opensearch/src/integrationTest/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSinkIT.java b/data-prepper-plugins/opensearch/src/integrationTest/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSinkIT.java index 39c23a3fb4..403f8be0ec 100644 --- a/data-prepper-plugins/opensearch/src/integrationTest/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSinkIT.java +++ b/data-prepper-plugins/opensearch/src/integrationTest/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSinkIT.java @@ -88,6 +88,7 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.closeTo; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.params.provider.Arguments.arguments; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -1120,7 +1121,7 @@ public void testOpenSearchRoutingField(final String testRoutingField) throws IOE } @ParameterizedTest - @ValueSource(strings = {"info/ids/rid", "rid"}) + @ValueSource(strings = {"", "info/ids/rid", "rid"}) public void testOpenSearchRouting(final String testRouting) throws IOException, InterruptedException { final String expectedRouting = UUID.randomUUID().toString(); final String testIndexAlias = "test_index"; @@ -1128,18 +1129,26 @@ public void testOpenSearchRouting(final String testRouting) throws IOException, .withData(Map.of("arbitrary_data", UUID.randomUUID().toString())) .withEventType("event") .build(); - testEvent.put(testRouting, expectedRouting); + if (!testRouting.isEmpty()) { + testEvent.put(testRouting, expectedRouting); + } final List> testRecords = Collections.singletonList(new Record<>(testEvent)); final PluginSetting pluginSetting = generatePluginSetting(null, testIndexAlias, null); - pluginSetting.getSettings().put(IndexConfiguration.ROUTING_FIELD, testRouting); + if (!testRouting.isEmpty()) { + pluginSetting.getSettings().put(IndexConfiguration.ROUTING, "${"+testRouting+"}"); + } final OpenSearchSink sink = createObjectUnderTest(pluginSetting, true); sink.output(testRecords); final List routingFields = getSearchResponseRoutingFields(testIndexAlias); for (String routingField : routingFields) { - assertThat(routingField, equalTo(expectedRouting)); + if (!testRouting.isEmpty()) { + assertThat(routingField, equalTo(expectedRouting)); + } else { + assertTrue(Objects.isNull(routingField)); + } } sink.shutdown(); } diff --git a/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java b/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java index c319da8955..4445ba6b85 100644 --- a/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java +++ b/data-prepper-plugins/opensearch/src/main/java/org/opensearch/dataprepper/plugins/sink/opensearch/OpenSearchSink.java @@ -482,7 +482,7 @@ private SerializedJson getDocument(final Event event) { try { routingValue = event.formatString(routing, expressionEvaluator); } catch (final ExpressionEvaluationException | EventKeyNotFoundException e) { - LOG.error("Unable to construct routing with format {}, the document_id will be generated by OpenSearch", routing, e); + LOG.error("Unable to construct routing with format {}, the routing will be generated by OpenSearch", routing, e); } }