You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/08/25 14:14:20 UTC

[jira] [Commented] (FLINK-3857) Add reconnect attempt to Elasticsearch host

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

ASF GitHub Bot commented on FLINK-3857:
---------------------------------------

Github user HungUnicorn commented on the issue:

    https://github.com/apache/flink/pull/1962
  
    Using the sniffing feature of transport client can achieve this.
    The client will connect to all existing nodes and the connected list is updated every 5 seconds. It can fit our case because we will only have to specify one ip, and we will obtain a list of ips which updated periodically. It's done by
    `Settings settings = Settings.settingsBuilder().put(userConfig).put("client.transport.sniff", true).build();`
    
    Explanation:
    > The Transport client comes with a cluster sniffing feature which allows it to dynamically add new hosts and remove old ones. When sniffing is enabled the the transport client will connect to the nodes in its internal node list, which is built via calls to addTransportAddress. After this, the client will call the internal cluster state API on those nodes to discover available data nodes. The internal node list of the client will be replaced with those data nodes only. This list is refreshed every five seconds by default. 
    
    Source:
    https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.3//transport-client.html


> Add reconnect attempt to Elasticsearch host
> -------------------------------------------
>
>                 Key: FLINK-3857
>                 URL: https://issues.apache.org/jira/browse/FLINK-3857
>             Project: Flink
>          Issue Type: Improvement
>          Components: Streaming Connectors
>    Affects Versions: 1.1.0, 1.0.2
>            Reporter: Fabian Hueske
>            Assignee: Subhobrata Dey
>
> Currently, the connection to the Elasticsearch host is opened in {{ElasticsearchSink.open()}}. In case the connection is lost (maybe due to a changed DNS entry), the sink fails.
> I propose to catch the Exception for lost connections in the {{invoke()}} method and try to re-open the connection for a configurable number of times with a certain delay.



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