[ 
https://issues.apache.org/jira/browse/NIFI-2068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15359038#comment-15359038
 ] 

ASF GitHub Bot commented on NIFI-2068:
--------------------------------------

Github user JPercivall commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/576#discussion_r69307262
  
    --- Diff: 
nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-processors/src/main/java/org/apache/nifi/processors/elasticsearch/AbstractElasticsearchProcessor.java
 ---
    @@ -17,129 +17,25 @@
     package org.apache.nifi.processors.elasticsearch;
     
     import org.apache.nifi.components.PropertyDescriptor;
    -import org.apache.nifi.components.ValidationContext;
    -import org.apache.nifi.components.ValidationResult;
    -import org.apache.nifi.components.Validator;
    -import org.apache.nifi.logging.ComponentLog;
     import org.apache.nifi.processor.AbstractProcessor;
     import org.apache.nifi.processor.ProcessContext;
     import org.apache.nifi.processor.exception.ProcessException;
     import org.apache.nifi.processor.util.StandardValidators;
     import org.apache.nifi.ssl.SSLContextService;
    -import org.apache.nifi.util.StringUtils;
    -import org.elasticsearch.client.Client;
    -import org.elasticsearch.client.transport.TransportClient;
    -import org.elasticsearch.common.settings.Settings;
    -import org.elasticsearch.common.transport.InetSocketTransportAddress;
    -
    -import java.io.File;
    -import java.lang.reflect.Constructor;
    -import java.lang.reflect.InvocationTargetException;
    -import java.lang.reflect.Method;
    -import java.net.InetSocketAddress;
    -import java.net.MalformedURLException;
    -import java.net.URL;
    -import java.net.URLClassLoader;
    -import java.util.ArrayList;
    -import java.util.Arrays;
    -import java.util.Collection;
    -import java.util.HashSet;
    -import java.util.List;
    -import java.util.Map;
    -import java.util.Set;
    -import java.util.concurrent.atomic.AtomicReference;
    -
     
    +/**
    + * A base class for all Elasticsearch processors
    + */
     public abstract class AbstractElasticsearchProcessor extends 
AbstractProcessor {
     
    -    /**
    -     * This validator ensures the Elasticsearch hosts property is a valid 
list of hostname:port entries
    -     */
    -    private static final Validator HOSTNAME_PORT_VALIDATOR = new 
Validator() {
    -        @Override
    -        public ValidationResult validate(final String subject, final 
String input, final ValidationContext context) {
    -            final List<String> esList = Arrays.asList(input.split(","));
    -            for (String hostnamePort : esList) {
    -                String[] addresses = hostnamePort.split(":");
    -                // Protect against invalid input like 
http://127.0.0.1:9300 (URL scheme should not be there)
    -                if (addresses.length != 2) {
    -                    return new 
ValidationResult.Builder().subject(subject).input(input).explanation(
    -                            "Must be in hostname:port form (no scheme such 
as http://";).valid(false).build();
    -                }
    -            }
    -            return new 
ValidationResult.Builder().subject(subject).input(input).explanation(
    -                    "Valid cluster definition").valid(true).build();
    -        }
    -    };
    -
    -    protected static final PropertyDescriptor CLUSTER_NAME = new 
PropertyDescriptor.Builder()
    -            .name("Cluster Name")
    -            .description("Name of the ES cluster (for example, 
elasticsearch_brew). Defaults to 'elasticsearch'")
    -            .required(true)
    -            .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
    -            .defaultValue("elasticsearch")
    -            .build();
    -
    -    protected static final PropertyDescriptor HOSTS = new 
PropertyDescriptor.Builder()
    -            .name("ElasticSearch Hosts")
    -            .description("ElasticSearch Hosts, which should be comma 
separated and colon for hostname/port "
    -                    + "host1:port,host2:port,....  For example 
testcluster:9300.")
    -            .required(true)
    -            .expressionLanguageSupported(false)
    -            .addValidator(HOSTNAME_PORT_VALIDATOR)
    -            .build();
    -
         public static final PropertyDescriptor PROP_SSL_CONTEXT_SERVICE = new 
PropertyDescriptor.Builder()
                 .name("SSL Context Service")
                 .description("The SSL Context Service used to provide client 
certificate information for TLS/SSL "
    -                    + "connections. This service only applies if the 
Shield plugin is available.")
    +                    + "connections. This service only applies if the 
Elasticsearch endpoints have been protected by SSLShield plugin is available.")
    --- End diff --
    
    This sentence doesn't really make sense to me, specifically the "plugin is 
available" part


> Add Elasticsearch processors that use the REST API
> --------------------------------------------------
>
>                 Key: NIFI-2068
>                 URL: https://issues.apache.org/jira/browse/NIFI-2068
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Matt Burgess
>            Assignee: Matt Burgess
>             Fix For: 1.0.0
>
>
> The current Elasticsearch processors use the Transport Client, and as a 
> result there can be some compatibility issues between multiple versions of ES 
> clusters. The REST API is much more standard between versions, so it would be 
> nice to have ES processors that use the REST API, to enable things like 
> migration from an Elasticsearch cluster with an older version to a cluster 
> with a newer version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to