From 57fa5a43a23b91dac9425ce8a31072e7339a8bf6 Mon Sep 17 00:00:00 2001 From: guohao1 Date: Tue, 15 Feb 2022 11:20:20 +0800 Subject: [PATCH] HDDS-6282. Fix BlockDataStreamOutput#doFlushIfNeeded NPE --- .../apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); }