[ https://issues.apache.org/jira/browse/FLINK-19251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Ewen updated FLINK-19251: --------------------------------- Fix Version/s: 1.11.3 > 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 > Priority: Major > Labels: pull-request-available > Fix For: 1.12.0, 1.11.3 > > > 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)