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)