[ https://issues.apache.org/jira/browse/FLINK-9253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454527#comment-16454527 ]
ASF GitHub Bot commented on FLINK-9253: --------------------------------------- GitHub user NicoK opened a pull request: https://github.com/apache/flink/pull/5923 [FLINK-9253][network] make the maximum floating buffers count channel-type independent ## What is the purpose of the change The credit-based flow control path assigns exclusive buffers only to remote channels (which makes sense since local channels don't use any own buffers). However, this is a bit intransparent with respect to how much data may be in buffers since this depends on the actual schedule of the job and not the job graph. By adapting the floating buffers to use a maximum of `numberOfInputChannels * networkBuffersPerChannel + extraNetworkBuffersPerGate - #exclusiveBuffers`, we would be channel-type agnostic and keep the old behaviour of using at most `numberOfInputChannels * networkBuffersPerChannel + extraNetworkBuffersPerGate` buffers in total. ## Brief change log - change the floating buffer pool to use the remaining number of buffers from a total maximum of `numberOfInputChannels * networkBuffersPerChannel + extraNetworkBuffersPerGate` per channel ## Verifying this change This change is already covered by existing tests, such as `NetworkEnvironmentTest`. ## 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** (well, kind of, but not per record) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: **no** - The S3 file system connector: **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/NicoK/flink flink-9253 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5923.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 #5923 ---- commit dfd85bc2cb776d00c9fac1c2844b1c4d6b19f568 Author: Nico Kruber <nico@...> Date: 2018-04-26T16:38:00Z [FLINK-9253][network] make the maximum floating buffers count channel-type independent Although with credit-based flow control exclusive buffers are only assigned to remote input channels, let's keep the overall maximum number of buffers per (bounded) input gate at numberOfInputChannels * networkBuffersPerChannel + extraNetworkBuffersPerGate This is easier to grasp for the user than a buffer count that depends on the deployment. ---- > Make buffer count per InputGate always #channels*buffersPerChannel + > ExclusiveBuffers > ------------------------------------------------------------------------------------- > > Key: FLINK-9253 > URL: https://issues.apache.org/jira/browse/FLINK-9253 > Project: Flink > Issue Type: Sub-task > Components: Network > Affects Versions: 1.5.0, 1.6.0 > Reporter: Nico Kruber > Assignee: Nico Kruber > Priority: Major > Fix For: 1.5.0 > > > The credit-based flow control path assigns exclusive buffers only to remote > channels (which makes sense since local channels don't use any own buffers). > However, this is a bit intransparent with respect to how much data may be in > buffers since this depends on the actual schedule of the job and not the job > graph. > By adapting the floating buffers to use a maximum of > {{#channels*buffersPerChannel + floatingBuffersPerGate - #exclusiveBuffers}}, > we would be channel-type agnostic and keep the old behaviour. -- This message was sent by Atlassian JIRA (v7.6.3#76005)