[ https://issues.apache.org/jira/browse/FLINK-6337?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15986589#comment-15986589 ]
ASF GitHub Bot commented on FLINK-6337: --------------------------------------- Github user uce commented on a diff in the pull request: https://github.com/apache/flink/pull/3785#discussion_r113690239 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/ResultPartition.java --- @@ -351,15 +351,15 @@ public void destroyBufferPool() { /** * Returns the requested subpartition. */ - public ResultSubpartitionView createSubpartitionView(int index, BufferProvider bufferProvider, BufferAvailabilityListener availabilityListener) throws IOException { + public ResultSubpartitionView createSubpartitionView(int index, BufferAvailabilityListener availabilityListener) throws IOException { int refCnt = pendingReferences.get(); checkState(refCnt != -1, "Partition released."); checkState(refCnt > 0, "Partition not pinned."); checkElementIndex(index, subpartitions.length, "Subpartition not found."); - ResultSubpartitionView readView = subpartitions[index].createReadView(bufferProvider, availabilityListener); + ResultSubpartitionView readView = subpartitions[index].createReadView(bufferPool, availabilityListener); --- End diff -- I think we can completely remove the buffer provider from the `createReadView` method: - In `SpillableSubpartition#createReadView` we can use the segment size of the buffer pool of the spillable subpartition itself (`parent.getBufferProvider().getMemorySegmentSize()`). - In `PipelinedSubpartition#createReadView` we don't use the argument anyways. > Remove the buffer provider from PartitionRequestServerHandler > ------------------------------------------------------------- > > Key: FLINK-6337 > URL: https://issues.apache.org/jira/browse/FLINK-6337 > Project: Flink > Issue Type: Improvement > Components: Network > Reporter: zhijiang > Assignee: zhijiang > Priority: Minor > > Currently, {{PartitionRequestServerHandler}} will create a > {{LocalBufferPool}} when the channel is registered. The {{LocalBufferPool}} > is only used to get segment size for creating read view in > {{SpillableSubpartition}}, and the buffers in the pool will not be used all > the time, so it will waste the buffer resource of global pool. > We would like to remove the {{LocalBufferPool}} from the > {{PartitionRequestServerHandler}}, and the {{LocalBufferPool}} in > {{ResultPartition}} can also provide the segment size for creating sub > partition view. -- This message was sent by Atlassian JIRA (v6.3.15#6346)