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(); } ```
---