[ https://issues.apache.org/jira/browse/FLINK-21068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17432338#comment-17432338 ]
Fabian Paul commented on FLINK-21068: ------------------------------------- [~karmagyz] thanks for pointing that out. I do not see a reason why we cannot support these configurations in the elasticsearch connectors. We only wanted to keep the configurations simple initially when we ported the elasticsearch sink to use the unified sink framework. In general, we wanted to reduce the number of UDFs a user can implement to configure the sink. UDFs currently increase the effort to integrate the connector with the Table API. Which configurations you would like to see? > Add new timeout options for Elasticsearch connector > --------------------------------------------------- > > Key: FLINK-21068 > URL: https://issues.apache.org/jira/browse/FLINK-21068 > Project: Flink > Issue Type: Improvement > Components: Connectors / ElasticSearch > Affects Versions: 1.12.1 > Reporter: jinfeng > Priority: Minor > Labels: auto-deprioritized-major > > Currently, the connection.max-retry-timeout seems not work with new > elasticsearch connector. The elasticsearch community has Remove > setMaxRetryTimeoutMillis from RestClientBuilder. We can set timeout options > when create RestHighLevelClient in > Elasticsearch7ApiCallBridge , like > {code:java} > //代码占位符 > @Override > public RestHighLevelClient createClient(Map<String, String> clientConfig) > throws IOException { > RestClientBuilder builder = RestClient.builder(httpHosts.toArray(new > HttpHost[httpHosts.size()])); > builder.setRequestConfigCallback(new > RestClientBuilder.RequestConfigCallback() { > @Override > public RequestConfig.Builder > customizeRequestConfig(RequestConfig.Builder builder) { > if (clientConfig.containsKey(CONFIG_KEY_CONNECTION_TIMEOUT)) { > > builder.setConnectTimeout(Integer.valueOf(clientConfig.get(CONFIG_KEY_CONNECTION_TIMEOUT))); > } > if (clientConfig.containsKey(CONFIG_KEY_CONNECTION_SOCKET_TIMEOUT)) { > > builder.setSocketTimeout(Integer.valueOf(clientConfig.get(CONFIG_KEY_CONNECTION_SOCKET_TIMEOUT))); > } > if (clientConfig.containsKey(CONFIG_KEY_CONNECTION_REQUEST_TIMEOUT)) > { > > builder.setConnectionRequestTimeout(Integer.valueOf(clientConfig.get(CONFIG_KEY_CONNECTION_REQUEST_TIMEOUT))); > } > return builder; > } > }); > {code} > > So, we can add three table config to config eleasticsearch timeout. > connection.timeout > connection.socket-timeout > connection.request-timeout > -- This message was sent by Atlassian Jira (v8.3.4#803005)