You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2022/03/04 22:01:51 UTC

[hbase] branch branch-1 updated: HBASE-26797 HBase 1.x clients will choke on rep_barrier rows when scanning hbase 2.x meta (#4161)

This is an automated email from the ASF dual-hosted git repository.

apurtell pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1 by this push:
     new acc7299  HBASE-26797 HBase 1.x clients will choke on rep_barrier rows when scanning hbase 2.x meta (#4161)
acc7299 is described below

commit acc729939acca81fffb022a8dcaa536106e7ac9a
Author: Bryan Beaudreault <bb...@hubspot.com>
AuthorDate: Fri Mar 4 17:00:59 2022 -0500

    HBASE-26797 HBase 1.x clients will choke on rep_barrier rows when scanning hbase 2.x meta (#4161)
    
    Signed-off-by: Andrew Purtell <ap...@apache.org>
---
 .../main/java/org/apache/hadoop/hbase/client/ConnectionManager.java  | 5 +++++
 .../src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java    | 4 ++++
 2 files changed, 9 insertions(+)

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 dcd9d53..6cd2ac2 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 @@ class ConnectionManager {
       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 8bc0654..d493546 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 @@ public class MetaScanner {
   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);
     }