From fa92c9fe4ccf4be95918b251f0a66f7fe2333d5c Mon Sep 17 00:00:00 2001 From: zhangduo Date: Fri, 15 Sep 2017 16:35:21 +0800 Subject: [PATCH] HBASE-18446 Mark StoreFileScanner/StoreFileReader as IA.LimitedPrivate(Phoenix) --- .../org/apache/hadoop/hbase/coprocessor/RegionObserver.java | 7 +++++-- .../org/apache/hadoop/hbase/regionserver/StoreFileReader.java | 11 +++++++---- .../apache/hadoop/hbase/regionserver/StoreFileScanner.java | 5 ++++- 3 files changed, 16 insertions(+), 7 deletions(-) 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 ae57747..9f16c7c 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 @@ -239,8 +239,7 @@ public interface RegionObserver extends Coprocessor { * effect in this hook. * @param c the environment provided by the region server * @param store the store being compacted - * @param scanners the list {@link org.apache.hadoop.hbase.regionserver.StoreFileScanner}s - * to be read from + * @param scanners the list of store file scanners to be read from * @param scanType the {@link ScanType} indicating whether this is a major or minor compaction * @param earliestPutTs timestamp of the earliest put that was found in any of the involved store * files @@ -1034,7 +1033,9 @@ public interface RegionObserver extends Coprocessor { * @param reader the base reader, if not {@code null}, from previous RegionObserver in the chain * @return a Reader instance to use instead of the base reader if overriding * default behavior, null otherwise + * @deprecated For Phoenix only, StoreFileReader is not a stable interface. */ + @Deprecated default StoreFileReader preStoreFileReaderOpen(ObserverContext ctx, FileSystem fs, Path p, FSDataInputStreamWrapper in, long size, CacheConfig cacheConf, Reference r, StoreFileReader reader) throws IOException { @@ -1053,7 +1054,9 @@ public interface RegionObserver extends Coprocessor { * @param r original reference file. This will be not null only when reading a split file. * @param reader the base reader instance * @return The reader to use + * @deprecated For Phoenix only, StoreFileReader is not a stable interface. */ + @Deprecated default StoreFileReader postStoreFileReaderOpen(ObserverContext ctx, FileSystem fs, Path p, FSDataInputStreamWrapper in, long size, CacheConfig cacheConf, Reference r, StoreFileReader reader) throws IOException { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileReader.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileReader.java index 06f42c8..e3f97a2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileReader.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileReader.java @@ -18,8 +18,6 @@ */ package org.apache.hadoop.hbase.regionserver; -import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting; - import java.io.DataInput; import java.io.IOException; import java.util.Map; @@ -34,9 +32,9 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellComparator; import org.apache.hadoop.hbase.CellUtil; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; -import org.apache.yetus.audience.InterfaceAudience; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper; import org.apache.hadoop.hbase.io.TimeRange; @@ -49,11 +47,16 @@ import org.apache.hadoop.hbase.nio.ByteBuff; import org.apache.hadoop.hbase.util.BloomFilter; import org.apache.hadoop.hbase.util.BloomFilterFactory; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; + +import org.apache.hadoop.hbase.shaded.com.google.common.annotations.VisibleForTesting; /** * Reader for a StoreFile. */ -@InterfaceAudience.Private +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.PHOENIX) +@InterfaceStability.Evolving public class StoreFileReader { private static final Log LOG = LogFactory.getLog(StoreFileReader.class.getName()); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java index e1d4c87..08111dc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java @@ -32,8 +32,10 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellComparator; import org.apache.hadoop.hbase.CellUtil; +import org.apache.hadoop.hbase.HBaseInterfaceAudience; import org.apache.hadoop.hbase.HConstants; import org.apache.yetus.audience.InterfaceAudience; +import org.apache.yetus.audience.InterfaceStability; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.TimeRange; import org.apache.hadoop.hbase.io.hfile.HFileScanner; @@ -43,7 +45,8 @@ import org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher; * KeyValueScanner adaptor over the Reader. It also provides hooks into * bloom filter things. */ -@InterfaceAudience.LimitedPrivate("Coprocessor") +@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.PHOENIX) +@InterfaceStability.Evolving public class StoreFileScanner implements KeyValueScanner { // the reader it comes from: private final StoreFileReader reader; -- 2.7.4