Github user pnowojski commented on a diff in the pull request:
https://github.com/apache/flink/pull/4592#discussion_r148203203
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/netty/NettyMessage.java
---
@@ -64,12 +65,53 @@
//
------------------------------------------------------------------------
+ /**
+ * Allocates a new (header and contents) buffer and adds some header
information for the frame
+ * decoder.
+ *
+ * <p>Before sending the buffer, you must write the actual length after
adding the contents as
+ * an integer to position <tt>0</tt>!
+ *
+ * @param allocator
+ * byte buffer allocator to use
+ * @param id
+ * {@link NettyMessage} subclass ID
+ *
+ * @return a newly allocated direct buffer with header data written for
{@link
+ * NettyMessageDecoder}
+ */
private static ByteBuf allocateBuffer(ByteBufAllocator allocator, byte
id) {
- return allocateBuffer(allocator, id, 0);
+ return allocateBuffer(allocator, id, -1);
}
+ /**
+ * Allocates a new (header and contents) buffer and adds some header
information for the frame
+ * decoder.
+ *
+ * <p>If the <tt>length</tt> is unknown, you must write the actual
length after adding the
+ * contents as an integer to position <tt>0</tt>!
+ *
+ * @param allocator
+ * byte buffer allocator to use
+ * @param id
+ * {@link NettyMessage} subclass ID
+ * @param length
+ * content length (or <tt>-1</tt> if unknown)
+ *
+ * @return a newly allocated direct buffer with header data written for
{@link
+ * NettyMessageDecoder}
+ */
private static ByteBuf allocateBuffer(ByteBufAllocator allocator, byte
id, int length) {
- final ByteBuf buffer = length != 0 ?
allocator.directBuffer(HEADER_LENGTH + length) : allocator.directBuffer();
+ Preconditions.checkArgument(length <= Integer.MAX_VALUE -
HEADER_LENGTH);
--- End diff --
import static?
---