zhijiang created FLINK-12630:
--------------------------------

             Summary: Refactor abstract InputGate to general interface
                 Key: FLINK-12630
                 URL: https://issues.apache.org/jira/browse/FLINK-12630
             Project: Flink
          Issue Type: Sub-task
          Components: Runtime / Network
            Reporter: zhijiang
            Assignee: zhijiang


`InputGate` is currently defined as an abstract class which extracts the common 
codes for checking data availability for subclasses `SingleInputGate` and 
`UnionInputGate`, but it might bring limits for further extending `InputGate` 
implementations in shuffle service architecture.

`SingleInputGate` is created from shuffle service so it belongs to the scope of 
shuffle service, while `UnionInputGate` is a wrapper of some `SingleInputGate`s 
so it should be in the task/processor stack.

In order to make a new `InputGate` implementation from another new shuffle 
service could be directly pitched in, we should define a more clean `InputGate` 
interface to decouple the implementation of checking data available logic. In 
detail we could define the `isAvailable` method in `InputGate` interface and 
extract the current implementation as a separate class 
`FutureBasedAvailability` which could still be extent and reused for both 
`SingleInputGate` and `UnionInputGate`.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to