Thank you Jiayi, that helps a lot!

On Fri, 29 Nov 2019 at 13:44, bupt_ljy <bupt_...@163.com> wrote:

> Hi Shuwen,
>
>
> > When to call close() ? After every element processed? Or
> on ProcessFunction.close() ? Or never to use it?
>
>
> IMO, the #close() function is used to manage the lifecycle of #Collector
> instead of a single element. I think it should not be called in user
> function unless you have some special use cases(no use case comes to my
> mind).
>
>
> > If it's been closed already, can the collector collect() anymore data?
>
>
> No. if it’s closed, it usually means the writer is closed or maybe the
> operator is closed.
>
>
> > If processElement received a message but consider it as discard and
> does not call collect(), will this block checkpoint's barrier until next
> element was sent by collect() ?
>
>
> No.
>
>
>
> Best,
>
> Jiayi Liao
>
>
>
>  Original Message
> *Sender:* shuwen zhou<jaco...@gmail.com>
> *Recipient:* user<user@flink.apache.org>
> *Date:* Friday, Nov 29, 2019 12:29
> *Subject:* ProcessFunction collect and close, when to use?
>
> Hi Community,
> In ProcessFunction class, ProcessElement function, there is a Collector
> that has 2 method: collect() and close(). I would like to know:
>
> 1. When to call close() ? After every element processed? Or
> on ProcessFunction.close() ? Or never to use it? If it's been closed
> already, can the collector collect() anymore data?
> 2. If processElement received a message but consider it as discard and
> does not call collect(), will this block checkpoint's barrier until next
> element was sent by collect() ?
>
>
> --
> Best Wishes,
> Shuwen Zhou
>
>

-- 
Best Wishes,
Shuwen Zhou

Reply via email to