From cf4ef6cf1237565f8458bb489d09e0e01b7becd5 Mon Sep 17 00:00:00 2001 From: QilinCao Date: Thu, 22 Jun 2017 10:44:24 +0800 Subject: [PATCH] HBASE-18119 Improve HFile readability --- .../java/org/apache/hadoop/hbase/io/hfile/HFile.java | 3 +-- .../org/apache/hadoop/hbase/io/hfile/TestHFile.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java index feddc2c..189d193 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java @@ -960,10 +960,9 @@ public class HFile { } } - public static void checkHFileVersion(final Configuration c) { int version = c.getInt(FORMAT_VERSION_KEY, MAX_FORMAT_VERSION); - if (version < MAX_FORMAT_VERSION || version > MAX_FORMAT_VERSION) { + if (version != MAX_FORMAT_VERSION) { throw new IllegalArgumentException("The setting for " + FORMAT_VERSION_KEY + " (in your hbase-*.xml files) is " + version + " which does not match " + MAX_FORMAT_VERSION + diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java index d209430..8269890 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java @@ -43,6 +43,7 @@ import org.apache.hadoop.hbase.ArrayBackedTag; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellComparator; import org.apache.hadoop.hbase.CellUtil; +import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; @@ -168,6 +169,23 @@ public class TestHFile { } /** + * Test check hfile version + */ + @Test + public void testCheckHFileVersionEqualToMaxVersion() { + Configuration conf = TEST_UTIL.getConfiguration(); + HFile.checkHFileVersion(conf); + assertTrue(String.valueOf(HFile.MAX_FORMAT_VERSION).equals(conf.get(HFile.FORMAT_VERSION_KEY))); + } + + @Test(expected=IllegalArgumentException.class) + public void testCheckHFileVersionNotEqualToMaxVersion() { + Configuration conf = HBaseConfiguration.create(); + conf.setInt(HFile.FORMAT_VERSION_KEY, HFile.MIN_FORMAT_VERSION); + HFile.checkHFileVersion(conf); + } + + /** * Create 0-length hfile and show that it fails */ @Test -- 1.9.1