HBASE-21507 Compaction failed when execute AbstractMultiFileWriter.beforeShipped() method

Signed-off-by: zhangduo <zhangduo@apache.org>
Signed-off-by: Anoop Sam John <anoop.hbase@gmail.com>
This commit is contained in:
lixiaobao 2018-11-27 20:30:23 +08:00 committed by zhangduo
parent 34e1d744f7
commit 3133d43859
1 changed files with 6 additions and 5 deletions

View File

@ -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<StoreFileWriter> writers = writers();
if (writers != null) {
for (StoreFileWriter writer : writers) {
if (writer != null) {
writer.beforeShipped();
}
}
}
}