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)

Reply via email to