This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-stormcrawler.git


The following commit(s) were added to refs/heads/main by this push:
     new a2c84b9f Detect multi addresses separated by ; in a single String. 
Fixes #1382
a2c84b9f is described below

commit a2c84b9f8915a4187509229cd716fac4a6768dd2
Author: Julien Nioche <[email protected]>
AuthorDate: Fri Nov 1 13:21:57 2024 +0000

    Detect multi addresses separated by ; in a single String. Fixes #1382
    
    Signed-off-by: Julien Nioche <[email protected]>
---
 .../src/main/resources/archetype-resources/opensearch-conf.yaml  | 2 ++
 external/opensearch/opensearch-conf.yaml                         | 2 ++
 .../org/apache/stormcrawler/opensearch/OpenSearchConnection.java | 9 +++++++++
 3 files changed, 13 insertions(+)

diff --git 
a/external/opensearch/archetype/src/main/resources/archetype-resources/opensearch-conf.yaml
 
b/external/opensearch/archetype/src/main/resources/archetype-resources/opensearch-conf.yaml
index 28f8884e..f8b291fe 100644
--- 
a/external/opensearch/archetype/src/main/resources/archetype-resources/opensearch-conf.yaml
+++ 
b/external/opensearch/archetype/src/main/resources/archetype-resources/opensearch-conf.yaml
@@ -19,6 +19,8 @@ config:
 
   # address to use unless a more specific one has been 
   # defined for a component
+  # also accepts a list or multiple values in a single line
+  # separated by a semi-colon e.g. "opensearch1:9200; opensearch2:9200"
   opensearch.addresses: "http://localhost:9200";
   #opensearch.user: "USERNAME"
   #opensearch.password: "PASSWORD"
diff --git a/external/opensearch/opensearch-conf.yaml 
b/external/opensearch/opensearch-conf.yaml
index 28f8884e..f8b291fe 100644
--- a/external/opensearch/opensearch-conf.yaml
+++ b/external/opensearch/opensearch-conf.yaml
@@ -19,6 +19,8 @@ config:
 
   # address to use unless a more specific one has been 
   # defined for a component
+  # also accepts a list or multiple values in a single line
+  # separated by a semi-colon e.g. "opensearch1:9200; opensearch2:9200"
   opensearch.addresses: "http://localhost:9200";
   #opensearch.user: "USERNAME"
   #opensearch.password: "PASSWORD"
diff --git 
a/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/OpenSearchConnection.java
 
b/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/OpenSearchConnection.java
index a5c5da46..0db6cd7f 100644
--- 
a/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/OpenSearchConnection.java
+++ 
b/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/OpenSearchConnection.java
@@ -22,6 +22,7 @@ import static 
org.opensearch.client.RestClientBuilder.DEFAULT_SOCKET_TIMEOUT_MIL
 import java.io.IOException;
 import java.net.URI;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -89,6 +90,14 @@ public final class OpenSearchConnection {
                 ConfUtils.loadListFromConf(
                         Constants.PARAMPREFIX, dottedType, "addresses", 
stormConf);
 
+        // find ; separated values and tokenise as multiple addresses
+        // e.g. opensearch1:9200; opensearch2:9200
+        if (confighosts.size() == 1) {
+            String input = confighosts.get(0);
+            confighosts.clear();
+            confighosts.addAll(Arrays.asList(input.split(" *; *")));
+        }
+
         for (String host : confighosts) {
             // no port specified? use default one
             int port = 9200;

Reply via email to