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 9ac43300f71b..8dd9e6b50e57 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 @@ -318,7 +318,8 @@ private void doFlushIfNeeded() throws IOException { // the bufferFull condition in async write path. long streamWindow = config.getStreamWindowSize() / config .getDataStreamMinPacketSize(); - if (!bufferList.isEmpty() && bufferList.size() % boundary == 0) { + if (!bufferList.isEmpty() && bufferList.size() % boundary == 0 && + buffersForPutBlock != null && !buffersForPutBlock.isEmpty()) { updateFlushLength(); executePutBlock(false, false); }