[
https://issues.apache.org/jira/browse/FLINK-7699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16184365#comment-16184365
]
ASF GitHub Bot commented on FLINK-7699:
---------------------------------------
Github user NicoK commented on a diff in the pull request:
https://github.com/apache/flink/pull/4735#discussion_r141659141
--- 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>
--- End diff --
you don't need the HTML tags here (I suggested them only for the Javadoc -
some use `{@code }` instead), please remove them here
> Define the BufferListener interface to replace EventListener in BufferProvider
> ------------------------------------------------------------------------------
>
> Key: FLINK-7699
> URL: https://issues.apache.org/jira/browse/FLINK-7699
> Project: Flink
> Issue Type: Sub-task
> Components: Core
> Reporter: zhijiang
> Assignee: zhijiang
> Fix For: 1.4.0
>
>
> Currently the {{EventListener}} is used in {{BufferProvider}} to be notified
> of buffer available or destroyed pool.
> To be semantic clearly, we define a new {{BufferListener}} interface which
> can opt for a one-time only notification or to be notified repeatedly. And we
> can also notify the pool destroyed via explicitly method
> {{notifyBufferDestroyed}}.
> The {{RemoteInputChannel}} will implement the {{BufferListener}} interface to
> wait for floating buffers from {{BufferProvider}}.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)