diff --git a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java index 6ef59dd6d859..ec925d1e6ac3 100644 --- a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java +++ b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java @@ -343,6 +343,10 @@ public void writeOnRetry(long len) throws IOException { while (len > 0) { final StreamBuffer buf = bufferList.get(count); final long writeLen = Math.min(buf.position(), len); + if (buffersForPutBlock == null) { + buffersForPutBlock = new ArrayList<>(); + } + buffersForPutBlock.add(buf); final ByteBuffer duplicated = buf.duplicate(); duplicated.position(0); duplicated.limit(buf.position());