[ https://issues.apache.org/jira/browse/FLINK-18982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17179361#comment-17179361 ]
Ryan Tao commented on FLINK-18982: ---------------------------------- Someone could you help to take a look to see if it is a valid issue and i'm ready to fix it. > InputFormat should remove unnecessary override methods > ------------------------------------------------------ > > Key: FLINK-18982 > URL: https://issues.apache.org/jira/browse/FLINK-18982 > Project: Flink > Issue Type: Improvement > Components: API / Core > Affects Versions: 1.11.1 > Reporter: Ryan Tao > Priority: Major > Labels: pull-request-available > > _InputFormat_ has inherited from _InputSplitSource_. Based on basic Java > knowledge, these two methods do not need to be written here, which may easily > lead to ambiguity. > And the behavior of these two methods should belong to _InputSplitSource_ > instead of _InputFormat. (about split)_ > InputFormat: > {code:java} > public interface InputFormat<OT, T extends InputSplit> extends > InputSplitSource<T>, Serializable { > ... > @Override > T[] createInputSplits(int minNumSplits) throws IOException; > @Override > InputSplitAssigner getInputSplitAssigner(T[] inputSplits); > ... > } > {code} > InputSplitSource: > {code:java} > public interface InputSplitSource<T extends InputSplit> extends Serializable { > T[] createInputSplits(int minNumSplits) throws Exception; > InputSplitAssigner getInputSplitAssigner(T[] inputSplits); > }{code} > As for the reason, watching the commit history, we can find that these two > methods appeared in _InputFormat_ before _InputSplitSource_. Later, they were > taken to InputSplitSource separately, but they were not removed in > _InputFormat_. > Another point is that the InputSplitSource throws an Exception, as it should > be. (Subclasses of InputFormat throw specific exception.) -- This message was sent by Atlassian Jira (v8.3.4#803005)