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 2017/06/21 04:10:00 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=16056969#comment-16056969 ]
ASF GitHub Bot commented on FLINK-3857:
---------------------------------------
Github user tzulitai commented on a diff in the pull request:
https://github.com/apache/flink/pull/1962#discussion_r123149965
--- Diff: flink-connectors/flink-connector-elasticsearch-base/src/main/java/org/apache/flink/streaming/connectors/elasticsearch/ElasticsearchSinkBase.java ---
@@ -234,4 +255,36 @@ private void checkErrorAndRethrow() {
throw new RuntimeException("An error occured in ElasticsearchSink.", cause);
}
}
+
+ private void retry(T value) throws Exception {
+ int retryCounter = 1;
+
+ while (retryCounter <= connectionRetries) {
+ if (bulkProcessor != null) {
+ bulkProcessor.close();
+ bulkProcessor = null;
+ }
+
+ if (client != null) {
+ client.close();
+ }
+
+ try {
+ open(null);
+ elasticsearchSinkFunction.process(value, getRuntimeContext(), requestIndexer);
+ } catch (Exception ex) {
+ if (client instanceof TransportClient && !callBridge.isConnected(((TransportClient) client))) {
+ TimeUnit.SECONDS.sleep(3);
--- End diff --
Should this be configurable?
Also, could you explain a bit on why you've chosen 3 seconds?
> 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.4.14#64029)