[ 
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)

Reply via email to