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)