You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by pa...@apache.org on 2020/12/15 18:26:28 UTC

[hbase] branch master updated: HBASE-25378 Legacy comparator in Hfile trailer will fail to load (#2756)

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

pankajkumar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 9bdac6c  HBASE-25378 Legacy comparator in Hfile trailer will fail to load (#2756)
9bdac6c is described below

commit 9bdac6cd174bce570a2faf92849931b3e76f240d
Author: Pankaj <pa...@apache.org>
AuthorDate: Tue Dec 15 23:56:02 2020 +0530

    HBASE-25378 Legacy comparator in Hfile trailer will fail to load (#2756)
    
    Signed-off-by: stack <st...@apache.com>
    Signed-off-by: Viraj Jasani <vj...@apache.org>
---
 .../java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java   | 2 ++
 .../org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java    | 8 +++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
index 7ab4edb..6a2dcf9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
@@ -612,6 +612,8 @@ public class FixedFileTrailer {
       comparatorKlass = CellComparatorImpl.class;
     } else if (comparatorClassName.equals(KeyValue.META_COMPARATOR.getLegacyKeyComparatorName())
       || comparatorClassName.equals(KeyValue.META_COMPARATOR.getClass().getName())
+      || (comparatorClassName.equals("org.apache.hadoop.hbase.CellComparator$MetaCellComparator"))      
+      || (comparatorClassName.equals("org.apache.hadoop.hbase.CellComparatorImpl$MetaCellComparator"))      
       || (comparatorClassName.equals("org.apache.hadoop.hbase.MetaCellComparator"))) {
       comparatorKlass = MetaCellComparator.class;
     } else if (comparatorClassName.equals("org.apache.hadoop.hbase.KeyValue$RawBytesComparator")
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java
index a5215bf..6382a0d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestFixedFileTrailer.java
@@ -130,6 +130,11 @@ public class TestFixedFileTrailer {
           t.createComparator(KeyValue.META_COMPARATOR.getLegacyKeyComparatorName()).getClass());
       assertEquals(MetaCellComparator.class,
           t.createComparator(KeyValue.META_COMPARATOR.getClass().getName()).getClass());
+      assertEquals(MetaCellComparator.class,
+        t.createComparator("org.apache.hadoop.hbase.CellComparator$MetaCellComparator").getClass());
+      assertEquals(MetaCellComparator.class,
+        t.createComparator("org.apache.hadoop.hbase.CellComparatorImpl$MetaCellComparator")
+            .getClass());
       assertEquals(MetaCellComparator.class, t.createComparator(
           MetaCellComparator.META_COMPARATOR.getClass().getName()).getClass());
       assertEquals(MetaCellComparator.META_COMPARATOR.getClass(), t.createComparator(
@@ -139,7 +144,8 @@ public class TestFixedFileTrailer {
       assertNull(t.createComparator(Bytes.BYTES_RAWCOMPARATOR.getClass().getName()));
       assertNull(t.createComparator("org.apache.hadoop.hbase.KeyValue$RawBytesComparator"));
     } catch (IOException e) {
-      fail("Unexpected exception while testing FixedFileTrailer#createComparator()");
+      fail("Unexpected exception while testing FixedFileTrailer#createComparator(), "
+          + e.getMessage());
     }
 
     // Test an invalid comparatorClassName