You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/16 16:28:00 UTC
[jira] [Commented] (FLINK-7456) Implement Netty sender incoming
pipeline for credit-based
[ https://issues.apache.org/jira/browse/FLINK-7456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16129035#comment-16129035 ]
ASF GitHub Bot commented on FLINK-7456:
---------------------------------------
GitHub user zhijiangW opened a pull request:
https://github.com/apache/flink/pull/4552
[FLINK-7456][network]Implement Netty sender incoming pipeline for credit-based
## What is the purpose of the change
This PR is based on #4533 whose commits are also included for passing travis. Review the last commit for this PR change.
On sender side, it maintains credit from receiver's `PartitionRequest` and `AddCredit` messages, then sends buffer based on credit and network capacity. This PR is mainly involved in incoming pipeline logic for credit-based.
## Brief change log
- *Each subpartition view maintains current credit and a boolean field to mark whether it is already registered available for transfer*
- *Update current credit in processing `PartitionRequest` and `AddCredit` messages*
- *The mechanism of enqueue the subpartition view and update the registered status field*
## Verifying this change
This change added tests and can be verified as follows:
- *Added test to verify that current credit is updated correctly and subpartition view is enqueued when received `AddCredit` message*
## 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): (no)
- 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-7456
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/4552.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 #4552
----
commit e35c1ff8066bf44344495d132a1092b9db3ef182
Author: Zhijiang <wa...@aliyun.com>
Date: 2017-08-07T09:31:17Z
[FLINK-7378][core]Create a fix size (non rebalancing) buffer pool type for the floating buffers
commit 969c24d3bf80c1ff89ada11e81b9bf4fea14066f
Author: Zhijiang <wa...@aliyun.com>
Date: 2017-08-14T06:30:47Z
[FLINK-7394][core]Implement basic InputChannel with free buffers,credit and backlog
commit 15fa828449d73f53042c57e9c5494d75ddee575f
Author: Zhijiang <wa...@aliyun.com>
Date: 2017-08-10T05:29:13Z
[FLINK-7406][network]Implement Netty receiver incoming pipeline for credit-based
commit d0674244f15701863a5dd3f68b7274b3bd49c64d
Author: Zhijiang <wa...@aliyun.com>
Date: 2017-08-12T14:13:25Z
[FLINK-7416][network] Implement Netty receiver outgoing pipeline for credit-based
commit 6eaff7877ad43eab674e184153365b50ec8e1559
Author: Zhijiang <wa...@aliyun.com>
Date: 2017-08-16T13:24:53Z
[FLINK-7456][network]Implement Netty sender incoming pipeline for credit-based
----
> Implement Netty sender incoming pipeline for credit-based
> ---------------------------------------------------------
>
> Key: FLINK-7456
> URL: https://issues.apache.org/jira/browse/FLINK-7456
> Project: Flink
> Issue Type: Sub-task
> Components: Network
> Reporter: zhijiang
> Assignee: zhijiang
> Fix For: 1.4.0
>
>
> This is a part of work for credit-based network flow control.
> On sender side, each subpartition view maintains an atomic integer {{currentCredit}} from receiver. Once receiving the messages of {{PartitionRequest}} and {{AddCredit}}, the {{currentCredit}} is added by deltas.
> Each view also maintains an atomic boolean field to mark it as registered available for transfer to make sure it is enqueued in handler only once. If the {{currentCredit}} increases from zero and there are available buffers in the subpartition, the corresponding view will be enqueued for transferring data.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)