flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-7378) Create a fix size (non rebalancing) buffer pool type for the floating buffers
Date Thu, 21 Sep 2017 09:24:03 GMT

    [ https://issues.apache.org/jira/browse/FLINK-7378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16174496#comment-16174496
] 

ASF GitHub Bot commented on FLINK-7378:
---------------------------------------

Github user NicoK commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4485#discussion_r140189504
  
    --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/io/network/buffer/NetworkBufferPoolTest.java
---
    @@ -188,14 +195,14 @@ public void testRequestMemorySegmentsLessThanTotalBuffers() throws
Exception {
     
     		NetworkBufferPool globalPool = new NetworkBufferPool(numBuffers, 128, MemoryType.HEAP);
     
    -		List<MemorySegment> memorySegments = Collections.emptyList();
     		try {
    -			memorySegments = globalPool.requestMemorySegments(numBuffers / 2);
    -
    +			List<MemorySegment> memorySegments = globalPool.requestMemorySegments(numBuffers
/ 2);
     			assertEquals(memorySegments.size(), numBuffers / 2);
    -		} finally {
    +
     			globalPool.recycleMemorySegments(memorySegments);
     			assertEquals(globalPool.getNumberOfAvailableMemorySegments(), numBuffers);
    +		} finally {
    --- End diff --
    
    Actually, in case one of the assertions fails, we also need to recycle the requested memory
segments since they are not in the pool anymore. How about this?
    
    ```
    		List<MemorySegment> memorySegments = Collections.emptyList();
    		try {
    			memorySegments = globalPool.requestMemorySegments(numBuffers / 2);
    			assertEquals(memorySegments.size(), numBuffers / 2);
    
    			globalPool.recycleMemorySegments(memorySegments);
    			memorySegments.clear();
    			assertEquals(globalPool.getNumberOfAvailableMemorySegments(), numBuffers);
    		} finally {
    			globalPool.recycleMemorySegments(memorySegments); // just in case
    			globalPool.destroy();
    		}
    ```


> Create a fix size (non rebalancing) buffer pool type for the floating buffers
> -----------------------------------------------------------------------------
>
>                 Key: FLINK-7378
>                 URL: https://issues.apache.org/jira/browse/FLINK-7378
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: zhijiang
>            Assignee: zhijiang
>             Fix For: 1.4.0
>
>
> Currently the number of network buffers in {{LocalBufferPool}} for {{SingleInputGate}}
is limited by {{a * <number of channels> + b}}, where a is the number of exclusive buffers
for each channel and b is the number of floating buffers shared by all channels.
> Considering the credit-based flow control feature, we want to create a fix size buffer
pool used to manage the floating buffers for {{SingleInputGate}}. And the exclusive buffers
are assigned to {{InputChannel}} directly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message