From 0991f2864ba4624b0afa1fe5f6e9c50a61dc33eb Mon Sep 17 00:00:00 2001 From: Duo Zhang Date: Tue, 27 Nov 2018 15:20:56 +0800 Subject: [PATCH] HBASE-21506 Compaction failed when execute AbstractMultiFileWriter.beforeShipped() method --- .../hbase/regionserver/AbstractMultiFileWriter.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java index 2fdab81313..43d0ad8858 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/AbstractMultiFileWriter.java @@ -21,12 +21,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; - import org.apache.hadoop.fs.Path; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.apache.hadoop.hbase.regionserver.CellSink; /** * Base class for cell sink that separates the provided cells into multiple files. @@ -119,9 +117,12 @@ public abstract class AbstractMultiFileWriter implements CellSink, ShipperListen @Override public void beforeShipped() throws IOException { - if (this.writers() != null) { - for (StoreFileWriter writer : writers()) { - writer.beforeShipped(); + Collection writers = writers(); + if (writers != null) { + for (StoreFileWriter writer : writers) { + if (writer != null) { + writer.beforeShipped(); + } } } } -- 2.17.1