You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "rinkako (Jira)" <ji...@apache.org> on 2020/06/24 20:20:00 UTC

[jira] [Created] (FLINK-18432) add open and close methods for ElasticsearchSinkFunction interface

rinkako created FLINK-18432:
-------------------------------

             Summary: add open and close methods for ElasticsearchSinkFunction interface
                 Key: FLINK-18432
                 URL: https://issues.apache.org/jira/browse/FLINK-18432
             Project: Flink
          Issue Type: Improvement
          Components: Connectors / ElasticSearch
            Reporter: rinkako


Here comes a example story: we want to sink data to ES with a day-rolling index name, by using `DateTimeFormatter` and `ZonedDateTime` for generating a day-rolling postfix to add to the index pattern of `return Requests.indexRequest().index("mydoc_"+postfix)` in a custom `ElasticsearchSinkFunction`. Here `DateTimeFormatter` is not a serializable class and must be a transient field of this `ElasticsearchSinkFunction`, and it must be checked null every time we call `process` (since the field is transient, it may be null at a distributed task manager), which can be done at a `open` method only run once.

So it seems that add `open` and `close` method of `ElasticsearchSinkFunction` interface can handle this well, users can control their sink function life-cycle more flexiblely. And, for compatibility, this two methods may have a empty default implementation at `ElasticsearchSinkFunction` interface.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)