flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From NicoK <...@git.apache.org>
Subject [GitHub] flink pull request #4735: [FLINK-7699][core] Define the BufferListener inter...
Date Thu, 28 Sep 2017 15:58:27 GMT
Github user NicoK commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4735#discussion_r141660332
  
    --- Diff: flink-runtime/src/test/java/org/apache/flink/runtime/io/network/buffer/LocalBufferPoolTest.java
---
    @@ -209,31 +209,30 @@ public void testSetLessThanRequiredNumBuffers() throws IOException
{
     	// ------------------------------------------------------------------------
     
     	@Test
    -	public void testPendingRequestWithListenerAfterRecycle() throws Exception {
    -		BufferListener listener = spy(new BufferListener() {
    -			@Override
    -			public boolean notifyBufferAvailable(Buffer buffer) {
    -				buffer.recycle();
    -				return false;
    -			}
    +	public void testPendingRequestWithListenersAfterRecycle() throws Exception {
    +		BufferListener twoTimesListener = createBufferListener(2);
    +		BufferListener oneTimeListener = createBufferListener(1);
     
    -			@Override
    -			public void notifyBufferDestroyed() {
    -			}
    -		});
    +		localBufferPool.setNumBuffers(2);
     
    -		localBufferPool.setNumBuffers(1);
    +		Buffer available1 = localBufferPool.requestBuffer();
    +		Buffer available2 = localBufferPool.requestBuffer();
     
    -		Buffer available = localBufferPool.requestBuffer();
    -		Buffer unavailable = localBufferPool.requestBuffer();
    +		assertNull(localBufferPool.requestBuffer());
     
    -		assertNull(unavailable);
    +		assertTrue(localBufferPool.addBufferListener(twoTimesListener));
    +		assertTrue(localBufferPool.addBufferListener(oneTimeListener));
     
    -		assertTrue(localBufferPool.addBufferListener(listener));
    +		// Recycle the first buffer to notify both of the above listeners and the
    +		// <<tt>twoTimesListener</tt> will be added into the <<tt>registeredListeners</tt>
    +		// queue of buffer pool again
    +		available1.recycle();
    --- End diff --
    
    can you also verify the notification right after this `recycle()` call? By adding:
    `verify(oneTimeListener, times(1)).notifyBufferAvailable(any(Buffer.class));`


---

Mime
View raw message