From 9a96318eb27fb6597e932950d72f0de4d74c8b02 Mon Sep 17 00:00:00 2001 From: wanghuan Date: Wed, 9 Jan 2019 13:41:13 +0800 Subject: [PATCH 1/2] [PATCH] HBASE-21699 Fixed create table failed when using SPLITS_FILE => 'splits.txt' --- .../java/org/apache/hadoop/hbase/HTableDescriptor.java | 2 +- .../org/apache/hadoop/hbase/TestHTableDescriptor.java | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index 960b91fa15..4f3c24e7c7 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -187,7 +187,7 @@ public class HTableDescriptor implements TableDescriptor, Comparable Date: Sun, 13 Jan 2019 21:57:12 +0800 Subject: [PATCH 2/2] [PATCH] HBASE-21699 Fixed create table failed when using SPLITS_FILE => 'splits.txt' --- hbase-shell/src/test/resources/splits.txt | 4 ++++ hbase-shell/src/test/ruby/hbase/table_test.rb | 11 +++++++++++ hbase-shell/src/test/ruby/test_helper.rb | 13 +++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 hbase-shell/src/test/resources/splits.txt diff --git a/hbase-shell/src/test/resources/splits.txt b/hbase-shell/src/test/resources/splits.txt new file mode 100644 index 0000000000..19f2acb76b --- /dev/null +++ b/hbase-shell/src/test/resources/splits.txt @@ -0,0 +1,4 @@ +10 +20 +30 +40 \ No newline at end of file diff --git a/hbase-shell/src/test/ruby/hbase/table_test.rb b/hbase-shell/src/test/ruby/hbase/table_test.rb index b3343e2279..4be0dd4d64 100644 --- a/hbase-shell/src/test/ruby/hbase/table_test.rb +++ b/hbase-shell/src/test/ruby/hbase/table_test.rb @@ -763,6 +763,17 @@ module Hbase drop_test_table(@testTableName) end + define_test "Split count for a table by file" do + @testTableName = "tableWithSplitsFile" + create_test_table_with_splits_file(@testTableName, SPLITS_FILE => 'src/test/resources/splits.txt') + @table = table(@testTableName) + splits = @table._get_splits_internal() + #Total splits is 5 but here count is 4 as we ignore implicit empty split. + assert_equal(4, splits.size) + assert_equal(["10", "20", "30", "40"], splits) + drop_test_table(@testTableName) + end + define_test "Split count for a empty table" do splits = @test_table._get_splits_internal() #Empty split should not be part of this array. diff --git a/hbase-shell/src/test/ruby/test_helper.rb b/hbase-shell/src/test/ruby/test_helper.rb index f72a1c6a84..6bf7a44452 100644 --- a/hbase-shell/src/test/ruby/test_helper.rb +++ b/hbase-shell/src/test/ruby/test_helper.rb @@ -112,6 +112,19 @@ module Hbase end end + def create_test_table_with_splits_file(name, splits_file) + # Create the table if needed + unless admin.exists?(name) + command(:create, name, 'f1', splits_file) + end + + # Enable the table if needed + unless admin.enabled?(name) + admin.enable(name) + end + end + + def create_test_table_with_region_replicas(name, num_of_replicas, splits) # Create the table if needed unless admin.exists?(name) -- 2.19.1