Repository: hbase Updated Branches: refs/heads/branch-1 9b5a839b9 -> ab3ec9477 refs/heads/branch-1.2 5eb4c5668 -> 83690b63b refs/heads/branch-1.3 2252ed0ee -> b7d2e98a6 refs/heads/branch-1.4 0f1f12f44 -> df4fc92b9
HBASE-20930 MetaScanner.metaScan should respect meta table name (Vishal Khandelwal) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ab3ec947 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ab3ec947 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ab3ec947 Branch: refs/heads/branch-1 Commit: ab3ec9477a14be82647f50a9abb8ca21a3c79173 Parents: 9b5a839 Author: Josh Elser <els...@apache.org> Authored: Mon Jul 30 16:35:34 2018 -0400 Committer: Josh Elser <els...@apache.org> Committed: Mon Jul 30 17:12:03 2018 -0400 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hbase/client/MetaScanner.java | 2 +- .../org/apache/hadoop/hbase/client/TestMetaScanner.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/ab3ec947/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java index 706085c..c222150 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java @@ -147,7 +147,7 @@ public class MetaScanner { // managed connections getting tables. Leaving this as it is for now. Will // revisit when inclined to change all tests. User code probaby makes use of // managed connections too so don't change it till post hbase 1.0. - try (Table metaTable = new HTable(TableName.META_TABLE_NAME, connection, null)) { + try (Table metaTable = new HTable(metaTableName, connection, null)) { if (row != null) { // Scan starting at a particular row in a particular table Result startRowResult = getClosestRowOrBefore(metaTable, tableName, row, http://git-wip-us.apache.org/repos/asf/hbase/blob/ab3ec947/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java index a91560e..d42d726 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java @@ -38,6 +38,7 @@ import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.MetaTableAccessor; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.TableNotFoundException; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.StoppableImplementation; @@ -107,6 +108,15 @@ public class TestMetaScanner { doReturn(true).when(visitor).processRow((Result) anyObject()); MetaScanner.metaScan(connection, visitor, TABLENAME, Bytes.toBytes("region_ac"), 1); verify(visitor, times(1)).processRow((Result) anyObject()); + + // Verifying whether passed meta is honored by call or not + try { + MetaScanner.metaScan(connection, visitor, TABLENAME, Bytes.toBytes("region_ac"), 1, + TableName.valueOf("invalidMeta")); + Assert.fail("Passed invalid meta table name but it is not honored"); + } catch (TableNotFoundException e) { + } + table.close(); }