diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java index 7ac0a7e..e5daa58 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java @@ -958,7 +958,8 @@ public interface RegionObserver { * @param ctx the environment provided by the region server * @param stagingFamilyPaths pairs of { CF, HFile path } submitted for bulk load * @param finalPaths Map of CF to List of file paths for the loaded files - * @param hasLoaded whether the bulkLoad was successful + * @param hasLoaded whether the bulkLoad was successful. bulkload is done by the time this hook is called. + * Value of false doesn't rollback or cancel the load * @return the new value of hasLoaded */ default boolean postBulkLoadHFile(ObserverContext ctx, diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java index 58e2970..0a9757b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java @@ -2256,11 +2256,11 @@ public class RSRpcServices implements HBaseRPCErrorHandler, } else { // secure bulk load map = regionServer.secureBulkLoadManager.secureBulkLoadHFiles(region, request); + if (map != null) { + loaded = true; + } } BulkLoadHFileResponse.Builder builder = BulkLoadHFileResponse.newBuilder(); - if (map != null) { - loaded = true; - } builder.setLoaded(loaded); return builder.build(); } catch (IOException ie) {