diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java index dcd9d5319f08..6cd2ac212fb5 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java @@ -1287,6 +1287,11 @@ private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, s.setReversed(true); s.withStartRow(metaKey); + // Adding a filter on CATALOG_FAMILY is necessary for compatibility + // with hbase 2.x and beyond, which adds additional column families. + // See HBASE-26797 + s.addFamily(HConstants.CATALOG_FAMILY); + if (this.useMetaReplicas) { s.setConsistency(Consistency.TIMELINE); } 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 8bc06548b4d9..d493546a3081 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 @@ -220,6 +220,10 @@ private static Result getClosestRowOrBefore(final Table metaTable, final TableNa throws IOException { byte[] searchRow = HRegionInfo.createRegionName(userTableName, row, HConstants.NINES, false); Scan scan = Scan.createGetClosestRowOrBeforeReverseScan(searchRow); + // Adding a filter on CATALOG_FAMILY is necessary for compatibility + // with hbase 2.x and beyond, which adds additional column families. + // See HBASE-26797 + scan.addFamily(HConstants.CATALOG_FAMILY); if (useMetaReplicas) { scan.setConsistency(Consistency.TIMELINE); }