Skip to content

Commit 80f7573

Browse files
only set maxNumComponents for compositeByteBuffer to solve the issue
1 parent 1eacf55 commit 80f7573

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

common/network-common/src/main/java/org/apache/spark/network/util/TransportFrameDecoder.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,12 @@ private ByteBuf decodeNext() throws Exception {
140140
}
141141

142142
// Otherwise, create a composite buffer.
143-
CompositeByteBuf frame = buffers.getFirst().alloc().compositeBuffer();
144-
LinkedList<ByteBuf> frameBuffers = new LinkedList<>();
143+
CompositeByteBuf frame = buffers.getFirst().alloc().compositeBuffer(Integer.MAX_VALUE);
145144
while (remaining > 0) {
146145
ByteBuf next = nextBufferForFrame(remaining);
147-
frameBuffers.add(next);
148146
remaining -= next.readableBytes();
147+
frame.addComponent(next).writerIndex(frame.writerIndex() + next.readableBytes());
149148
}
150-
frame.addComponents(frameBuffers).writerIndex(frame.writerIndex() + (int) frameSize);
151-
frameBuffers.clear();
152149
assert remaining == 0;
153150
return frame;
154151
}

0 commit comments

Comments
 (0)