Stephan Ewen created FLINK-19251: ------------------------------------ Summary: Avoid confusing queue handling in "SplitReader.handleSplitsChanges()" Key: FLINK-19251 URL: https://issues.apache.org/jira/browse/FLINK-19251 Project: Flink Issue Type: Improvement Components: Connectors / Common Reporter: Stephan Ewen Assignee: Stephan Ewen Fix For: 1.12.0
Currently, the method {{SplitReader.handleSplitsChanges()}} is passed a queue of split changes to handle. The method may decide to handle only a subset of them and is passes later all remaining changes. In practice, this ends up being confusing and problematic: - It is important to remove the elements from the queue, not accidentally iterate, or the splits will get handles multiple times - If the queue is not left empty, the task to handle the changes is immediately re-enqueued. No other operation can happen before all split changes from the queue are handled. A simpler and more efficient contract would be to simply pass a list of split changes directly and once, for the fetcher to handle. For all implementations so far, this was sufficient and easier. -- This message was sent by Atlassian Jira (v8.3.4#803005)