[
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)