[
https://issues.apache.org/jira/browse/FLINK-7394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16119498#comment-16119498
]
ASF GitHub Bot commented on FLINK-7394:
---------------------------------------
GitHub user zhijiangW opened a pull request:
https://github.com/apache/flink/pull/4499
[FLINK-7394][core] Implement basic InputChannel for credit-based logic
## What is the purpose of the change
This pull request prepares the basic works for credit-based interaction
with netty pipeline which will be submitted in next pull request.
This pull request depends on previous [FixedBufferPool
PR](https://github.com/apache/flink/pull/4485) whose commit is also included
for passing travis, so review the second commit for this pull request change.
In order not to affect the current process and existing cases, a temporary
method called `testRegisterTask` is added in `NetworkEnvironment` for verifying
partial behaviors until the whole feature codes are submitted.
## Brief change log
- *`NetworkEnvironment` creates the `FixedBufferPool` for
`SingleInputGate`*
- *Assigns the exclusive buffers directly to `RemoteInputChannel` during
registering task*
- *`RemoteInputChannel` implements `BufferRecycler` interface to manage
the exclusive buffers itself*
- *`RemoteInputChannel` implements `BufferPoolListener` interface to be
notified available floating buffers from buffer pool*
- *`RemoteInputChannel` maintains unannounced credit and current sender
backlog*
## Verifying this change
This change added tests and can be verified as follows:
- *Added test for registering task with FixedBufferPool creation and
exclusive buffers assignment*
- *The credit and backlog logics will be verified after implementing the
netty pipeline part in the next pull request*
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (no)
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (no)
- The serializers: (no)
- The runtime per-record code paths (performance sensitive): (yes)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
## Documentation
- Does this pull request introduce a new feature? (no)
- If yes, how is the feature documented? (not applicable)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/zhijiangW/flink FLINK-7394
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/4499.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #4499
----
commit 5c7a27f6fdd215150174c7827cc87b5ea08e01bc
Author: Zhijiang <[email protected]>
Date: 2017-08-07T09:31:17Z
[FLINK-7378][core]Implement the FixedBufferPool for floating buffers of
SingleInputGate
commit b3cabd92051b2682c869742a5a346193b3d4ca33
Author: Zhijiang <[email protected]>
Date: 2017-08-09T05:43:56Z
[FLINK-7394][core]Implement basic InputChannel for credit-based logic
----
> Implement basic InputChannel for credit-based logic
> ---------------------------------------------------
>
> Key: FLINK-7394
> URL: https://issues.apache.org/jira/browse/FLINK-7394
> Project: Flink
> Issue Type: Sub-task
> Components: Core
> Reporter: zhijiang
> Assignee: zhijiang
> Fix For: 1.4.0
>
>
> This is a part of work for credit-based network flow control.
> The basic works are:
> * The exclusive buffers per channel are assigned to {{RemoteInputChannel}}
> directly during registering task.
> * {{RemoteInputChannel}} implements {{BufferRecycler}} interface to manage
> the exclusive buffers itself.
> * {{RemoteInputChannel}} implements {{BufferPoolListener}} interface to be
> notified available floating buffers from buffer pool.
> * {{RemoteInputChannel}} maintains unannounced credit and current sender
> backlog.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)