This is an automated email from the ASF dual-hosted git repository.
chriss pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new f8f906d518 NIFI-14304: Improve ElasticSearchClientService HTTP HOST
validation.
f8f906d518 is described below
commit f8f906d518e0fa83cf7915eb7fc3e1ff3794c8fb
Author: Bob Paulin <[email protected]>
AuthorDate: Sat Mar 1 13:23:12 2025 -0600
NIFI-14304: Improve ElasticSearchClientService HTTP HOST validation.
Signed-off-by: Chris Sampson <[email protected]>
This closes #9756.
---
.../org/apache/nifi/elasticsearch/ElasticSearchClientService.java | 8 ++++++--
.../apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java | 6 +++++-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service-api/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientService.java
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service-api/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientService.java
index b1c64cc12d..c7ed466d50 100644
---
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service-api/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientService.java
+++
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service-api/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientService.java
@@ -35,8 +35,12 @@ public interface ElasticSearchClientService extends
ControllerService, Verifiabl
PropertyDescriptor HTTP_HOSTS = new PropertyDescriptor.Builder()
.name("el-cs-http-hosts")
.displayName("HTTP Hosts")
- .description("A comma-separated list of HTTP hosts that host
Elasticsearch query nodes. " +
- "Note that the Host is included in requests as a header
(typically including domain and port, e.g. elasticsearch:9200).")
+ .description("""
+ A comma-separated list of HTTP hosts that host
Elasticsearch query nodes.
+ The HTTP Hosts should be valid URIs including protocol,
domain and port for each entry.
+ For example "https://elasticsearch1:9200,
https://elasticsearch2:9200".
+ Note that the Host is included in requests as a header
(typically including domain and port, e.g. elasticsearch:9200).
+ """)
.required(true)
.expressionLanguageSupported(ExpressionLanguageScope.ENVIRONMENT)
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
diff --git
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
index 9bb3414733..1fea28a3fa 100644
---
a/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
+++
b/nifi-extension-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
@@ -254,7 +254,11 @@ public class ElasticSearchClientServiceImpl extends
AbstractControllerService im
verifySniffer(context, verifyClient, tokenProvider, snifferResult);
} catch (final MalformedURLException mue) {
clientSetupResult.outcome(ConfigVerificationResult.Outcome.FAILED)
- .explanation("Incorrect/invalid " +
ElasticSearchClientService.HTTP_HOSTS.getDisplayName());
+ .explanation("""
+ Incorrect/invalid %s.
+ The HTTP Hosts should be valid URIs including
protocol, domain and port for each entry.
+ For example "https://elasticsearch1:9200,
https://elasticsearch2:9200".
+
""".formatted(ElasticSearchClientService.HTTP_HOSTS.getDisplayName()));
} catch (final InitializationException ie) {
clientSetupResult.outcome(ConfigVerificationResult.Outcome.FAILED)
.explanation("Incorrect/invalid " +
ElasticSearchClientService.PROP_SSL_CONTEXT_SERVICE.getDisplayName());