diff --git a/core/src/main/scala/kafka/log/s3/ObjectWriter.java b/core/src/main/scala/kafka/log/s3/ObjectWriter.java index 4d6b1db788..66d3605921 100644 --- a/core/src/main/scala/kafka/log/s3/ObjectWriter.java +++ b/core/src/main/scala/kafka/log/s3/ObjectWriter.java @@ -83,10 +83,12 @@ public void closeCurrentBlock() { private void tryUploadPart() { long waitingUploadSize = waitingUploadBlocks.stream().mapToLong(DataBlock::size).sum(); if (waitingUploadSize >= partSizeThreshold) { + CompositeByteBuf partBuf = Unpooled.compositeBuffer(); for (DataBlock block : waitingUploadBlocks) { - writer.write(block.buffer()); + partBuf.addComponent(true, block.buffer()); completedBlocks.add(block); } + writer.write(partBuf); waitingUploadBlocks.clear(); } }