You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Caizhi Weng (Jira)" <ji...@apache.org> on 2020/07/10 09:11:00 UTC

[jira] [Created] (FLINK-18558) Introduce collect iterator with at least once semantics and exactly once semantics without fault tolerance

Caizhi Weng created FLINK-18558:
-----------------------------------

             Summary: Introduce collect iterator with at least once semantics and exactly once semantics without fault tolerance
                 Key: FLINK-18558
                 URL: https://issues.apache.org/jira/browse/FLINK-18558
             Project: Flink
          Issue Type: Improvement
          Components: API / DataStream, Table SQL / API
            Reporter: Caizhi Weng
             Fix For: 1.12.0


Currently {{TableResult#collect}} and {{DataStreamUtils#collect}} can only produce results if users explicitly enable checkpoint for infinite streaming jobs. It would be strange to require the users to do so if they just want to take a look at their data.

We should introduce collect iterator with at least once semantics and exactly once semantics without fault tolerance. When calling the {{collect}} method, we should automatically pick an iterator for the user:
* If the user does not explicitly enable a checkpoint, we use exactly once iterator without fault tolerance. That is to say, the iterator will throw exception once the job restarts.
* If the user explicitly enables an exactly once checkpoint, we use the current implementation of collect iterator.
* If the user explicitly enables an at least once checkpoint, we use the at least once iterator. That is to say, the iterator ignores both checkpoint information and job restarts.



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