Github user zentol commented on a diff in the pull request: https://github.com/apache/flink/pull/6189#discussion_r197106285 --- 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 -- The `HttpPostRequestEncoder` always sends an `EMPTY_LAST_HTTP_CONTENT` to mark the end of the requests, and the decoder handles it as described. It could be that the decoder is not actually a general-purpose decoder but explicitly written as a counterpart for the encoder.
---