Ryan Tao created FLINK-18982: -------------------------------- Summary: 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
_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. InputFormat & InputSplitSource: {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} {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)