From c2076f0f91fc6b344020c5defd7f97763f67621f Mon Sep 17 00:00:00 2001 From: Ashish Singhi Date: Wed, 9 Mar 2016 15:26:11 +0530 Subject: [PATCH] HBASE-15425 Failing to write bulk load event marker in the WAL is ignored --- .../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index c090b54..d921c5b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -5297,6 +5297,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi Preconditions.checkNotNull(familyPaths); // we need writeLock for multi-family bulk load startBulkRegionOperation(hasMultipleColumnFamilies(familyPaths)); + boolean success = false; try { this.writeRequestsCount.increment(); @@ -5344,7 +5345,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi // problem when validating LOG.warn("There was a recoverable bulk load failure likely due to a" + " split. These (family, HFile) pairs were not loaded: " + list); - return false; + return success; } // We need to assign a sequential ID that's in between two memstores in order to preserve @@ -5404,10 +5405,10 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi } } - return true; + success = true; } finally { if (wal != null && !storeFiles.isEmpty()) { - // @rite a bulk load event when not all hfiles are loaded + // Write a bulk load event for hfiles that are loaded try { WALProtos.BulkLoadDescriptor loadDescriptor = ProtobufUtil.toBulkLoadDescriptor( this.getRegionInfo().getTable(), @@ -5418,6 +5419,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi if (this.rsServices != null) { // Have to abort region server because some hfiles has been loaded but we can't write // the event into WAL + success = false; this.rsServices.abort("Failed to write bulk load event into WAL.", ioe); } } @@ -5425,6 +5427,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi closeBulkRegionOperation(); } + return success; } @Override -- 1.9.2.msysgit.0