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

    https://github.com/apache/flink/pull/6189#discussion_r197095206
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/rest/FileUploadHandler.java
 ---
    @@ -106,7 +106,7 @@ protected void channelRead0(final ChannelHandlerContext 
ctx, final HttpObject ms
                                final HttpContent httpContent = (HttpContent) 
msg;
                                
currentHttpPostRequestDecoder.offer(httpContent);
     
    -                           while (currentHttpPostRequestDecoder.hasNext()) 
{
    +                           while (httpContent != 
LastHttpContent.EMPTY_LAST_CONTENT && currentHttpPostRequestDecoder.hasNext()) {
    --- End diff --
    
    When you have passed an `EMPTY_LAST_HTTP_CONTENT` to the decoder the entire 
content of the message was already processsed. Calling `hasNext()` on a decoder 
that has already processed the entire content throws the exception.
    
    This was done to differentiate between "I don't have more data _right 
now_." and "I will never have more date.". We manually do this by checking 
`instanceof LastHttpContent`.


---

Reply via email to