You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "zhijiang (JIRA)" <ji...@apache.org> on 2019/05/27 07:15:00 UTC

[jira] [Created] (FLINK-12630) Refactor abstract InputGate to general interface

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)