diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java index 640753cad7d..b5faeaceb2f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.master.region; import static org.apache.hadoop.hbase.HConstants.HREGION_LOGDIR_NAME; +import com.google.errorprone.annotations.RestrictedApi; import java.io.IOException; import java.util.List; import org.apache.hadoop.conf.Configuration; @@ -142,6 +143,12 @@ public final class MasterRegion { flusherAndCompactor.onUpdate(); } + /** + * The design for master region is to only load all the data to memory at once when starting, so + * typically you should not use the get method to get a single row of data at runtime. + */ + @RestrictedApi(explanation = "Should only be called in tests", link = "", + allowedOnPath = ".*/src/test/.*") public Result get(Get get) throws IOException { return region.get(get); } @@ -154,14 +161,20 @@ public final class MasterRegion { return region.getScanner(scan); } + @RestrictedApi(explanation = "Should only be called in tests", link = "", + allowedOnPath = ".*/src/test/.*") public FlushResult flush(boolean force) throws IOException { return region.flush(force); } + @RestrictedApi(explanation = "Should only be called in tests", link = "", + allowedOnPath = ".*/src/test/.*") public void requestRollAll() { walRoller.requestRollAll(); } + @RestrictedApi(explanation = "Should only be called in tests", link = "", + allowedOnPath = ".*/src/test/.*") public void waitUntilWalRollFinished() throws InterruptedException { walRoller.waitUntilWalRollFinished(); }