[jira] [Created] (FLINK-18982) InputFormat should remove unnecessary override methods

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-18982) InputFormat should remove unnecessary override methods

Shang Yuanchun (Jira)
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)