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

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

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

    https://github.com/apache/flink/pull/5581#discussion_r170921349
  
    --- Diff: 
flink-runtime/src/test/java/org/apache/flink/runtime/io/network/partition/SubpartitionTestBase.java
 ---
    @@ -138,11 +145,68 @@ static void assertNextBuffer(
                        ResultSubpartitionView readView,
                        int expectedReadableBufferSize,
                        boolean expectedIsMoreAvailable,
    -                   int expectedBuffersInBacklog) throws IOException, 
InterruptedException {
    +                   int expectedBuffersInBacklog,
    +                   boolean expectedNextBufferIsEvent,
    +                   boolean expectedRecycledAfterRecycle) throws 
IOException, InterruptedException {
    +           assertNextBufferOrEvent(
    +                   readView,
    +                   expectedReadableBufferSize,
    +                   true,
    +                   null,
    +                   expectedIsMoreAvailable,
    +                   expectedBuffersInBacklog,
    +                   expectedNextBufferIsEvent,
    +                   expectedRecycledAfterRecycle);
    +   }
    +
    +   static void assertNextEvent(
    +                   ResultSubpartitionView readView,
    +                   int expectedReadableBufferSize,
    +                   @Nullable Class<? extends AbstractEvent> 
expectedEventClass,
    --- End diff --
    
    Before-mentioned `@Nullable`


> SpilledSubpartitionView wrongly relys on the backlog for determining whether 
> more data is available
> ---------------------------------------------------------------------------------------------------
>
>                 Key: FLINK-8755
>                 URL: https://issues.apache.org/jira/browse/FLINK-8755
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Network
>            Reporter: Nico Kruber
>            Assignee: Nico Kruber
>            Priority: Blocker
>             Fix For: 1.5.0
>
>
> {code}
> public BufferAndBacklog getNextBuffer() throws IOException, 
> InterruptedException {
> //...
>         int newBacklog = parent.decreaseBuffersInBacklog(current);
>         return new BufferAndBacklog(current, newBacklog > 0, newBacklog, 
> nextBufferIsEvent);
> {code}
> relies on the backlog to signal further data availability. However, if there 
> are only events left in the buffer queue, their buffers are not included in 
> the backlog counting and therefore, {{isMoreAvailable}} will be wrongly 
> {{false}} here.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to