hbase git commit: HBASE-19965 Fix flaky TestAsyncRegionAdminApi; ADDENDUM do same to TestAsyncTableAdminAPI
Repository: hbase Updated Branches: refs/heads/master cf57ea15f -> b4622ffad HBASE-19965 Fix flaky TestAsyncRegionAdminApi; ADDENDUM do same to TestAsyncTableAdminAPI Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b4622ffa Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b4622ffa Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b4622ffa Branch: refs/heads/master Commit: b4622ffad7011b3d29bce6376edb896de6df9f6e Parents: cf57ea1 Author: Michael Stack Authored: Mon Feb 12 22:52:56 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 22:52:56 2018 -0800 -- .../hbase/client/TestAsyncTableAdminApi.java| 249 +-- .../hbase/client/TestAsyncTableAdminApi2.java | 299 +++ 2 files changed, 301 insertions(+), 247 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/b4622ffa/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java index 597a3d7..a3129f8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java @@ -30,11 +30,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; import java.util.concurrent.CompletionException; import java.util.concurrent.ExecutionException; import java.util.regex.Pattern; -import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.AsyncMetaTableAccessor; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HConstants; @@ -43,12 +41,9 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor; import org.apache.hadoop.hbase.master.LoadBalancer; -import org.apache.hadoop.hbase.master.MasterFileSystem; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.util.FSTableDescriptors; -import org.apache.hadoop.hbase.util.FSUtils; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Test; @@ -58,6 +53,8 @@ import org.junit.runners.Parameterized; /** * Class to test asynchronous table admin operations. + * @see TestAsyncTableAdminApi2 This test and it used to be joined it was taking longer than our + * ten minute timeout so they were split. */ @RunWith(Parameterized.class) @Category({ LargeTests.class, ClientTests.class }) @@ -591,161 +588,6 @@ public class TestAsyncTableAdminApi extends TestAsyncAdminBase { } @Test - public void testDisableCatalogTable() throws Exception { -try { - this.admin.disableTable(TableName.META_TABLE_NAME).join(); - fail("Expected to throw ConstraintException"); -} catch (Exception e) { -} -// Before the fix for HBASE-6146, the below table creation was failing as the hbase:meta table -// actually getting disabled by the disableTable() call. -createTableWithDefaultConf(tableName); - } - - @Test - public void testAddColumnFamily() throws Exception { -// Create a table with two families -TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); -builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_0)); -admin.createTable(builder.build()).join(); -admin.disableTable(tableName).join(); -// Verify the table descriptor -verifyTableDescriptor(tableName, FAMILY_0); - -// Modify the table removing one family and verify the descriptor -admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.of(FAMILY_1)).join(); -verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1); - } - - @Test - public void testAddSameColumnFamilyTwice() throws Exception { -// Create a table with one families -TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); -builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_0)); -admin.createTable(builder.build()).join(); -admin.disableTable(tableName).join(); -// Verify the table descriptor -verifyTableDescriptor(tableName, FAMILY_0); - -// Modify the table removing one family and verify the descriptor -admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.of(FAMILY_1)).join(); -verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1); - -try { -
hbase git commit: HBASE-19965 Fix flaky TestAsyncRegionAdminApi; ADDENDUM do same to TestAsyncTableAdminAPI
Repository: hbase Updated Branches: refs/heads/branch-2 7104364a4 -> 5b95ea01d HBASE-19965 Fix flaky TestAsyncRegionAdminApi; ADDENDUM do same to TestAsyncTableAdminAPI Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5b95ea01 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5b95ea01 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5b95ea01 Branch: refs/heads/branch-2 Commit: 5b95ea01dab379ce71adbf9d04bec69b3b8cd5ab Parents: 7104364 Author: Michael Stack Authored: Mon Feb 12 22:52:56 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 22:53:29 2018 -0800 -- .../hbase/client/TestAsyncTableAdminApi.java| 249 +-- .../hbase/client/TestAsyncTableAdminApi2.java | 299 +++ 2 files changed, 301 insertions(+), 247 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/5b95ea01/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java index 597a3d7..a3129f8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java @@ -30,11 +30,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; import java.util.concurrent.CompletionException; import java.util.concurrent.ExecutionException; import java.util.regex.Pattern; -import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.AsyncMetaTableAccessor; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HConstants; @@ -43,12 +41,9 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.TableDescriptorBuilder.ModifyableTableDescriptor; import org.apache.hadoop.hbase.master.LoadBalancer; -import org.apache.hadoop.hbase.master.MasterFileSystem; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.util.FSTableDescriptors; -import org.apache.hadoop.hbase.util.FSUtils; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Test; @@ -58,6 +53,8 @@ import org.junit.runners.Parameterized; /** * Class to test asynchronous table admin operations. + * @see TestAsyncTableAdminApi2 This test and it used to be joined it was taking longer than our + * ten minute timeout so they were split. */ @RunWith(Parameterized.class) @Category({ LargeTests.class, ClientTests.class }) @@ -591,161 +588,6 @@ public class TestAsyncTableAdminApi extends TestAsyncAdminBase { } @Test - public void testDisableCatalogTable() throws Exception { -try { - this.admin.disableTable(TableName.META_TABLE_NAME).join(); - fail("Expected to throw ConstraintException"); -} catch (Exception e) { -} -// Before the fix for HBASE-6146, the below table creation was failing as the hbase:meta table -// actually getting disabled by the disableTable() call. -createTableWithDefaultConf(tableName); - } - - @Test - public void testAddColumnFamily() throws Exception { -// Create a table with two families -TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); -builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_0)); -admin.createTable(builder.build()).join(); -admin.disableTable(tableName).join(); -// Verify the table descriptor -verifyTableDescriptor(tableName, FAMILY_0); - -// Modify the table removing one family and verify the descriptor -admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.of(FAMILY_1)).join(); -verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1); - } - - @Test - public void testAddSameColumnFamilyTwice() throws Exception { -// Create a table with one families -TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); -builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY_0)); -admin.createTable(builder.build()).join(); -admin.disableTable(tableName).join(); -// Verify the table descriptor -verifyTableDescriptor(tableName, FAMILY_0); - -// Modify the table removing one family and verify the descriptor -admin.addColumnFamily(tableName, ColumnFamilyDescriptorBuilder.of(FAMILY_1)).join(); -verifyTableDescriptor(tableName, FAMILY_0, FAMILY_1); - -try
hbase git commit: HBASE-19965 Fix flaky TestAsyncRegionAdminApi
Repository: hbase Updated Branches: refs/heads/master f8c3d4568 -> cf57ea15f HBASE-19965 Fix flaky TestAsyncRegionAdminApi Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cf57ea15 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cf57ea15 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cf57ea15 Branch: refs/heads/master Commit: cf57ea15f1044d69fcfc8edee3c6f710ed78a7e0 Parents: f8c3d45 Author: Michael Stack Authored: Mon Feb 12 22:24:50 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 22:27:12 2018 -0800 -- .../hbase/client/TestAsyncRegionAdminApi.java | 195 +-- .../hbase/client/TestAsyncRegionAdminApi2.java | 241 +++ 2 files changed, 245 insertions(+), 191 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/cf57ea15/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java index b9afb68..fbb87bb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hbase.client; -import static org.apache.hadoop.hbase.TableName.META_TABLE_NAME; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; @@ -27,14 +26,10 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import org.apache.hadoop.hbase.AsyncMetaTableAccessor; import org.apache.hadoop.hbase.HBaseClassTestRule; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HRegionLocation; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.master.HMaster; @@ -60,30 +55,17 @@ import org.junit.runners.Parameterized; /** * Class to test asynchronous region admin operations. + * @see TestAsyncRegionAdminApi2 This test and it used to be joined it was taking longer than our + * ten minute timeout so they were split. */ @RunWith(Parameterized.class) @Category({ LargeTests.class, ClientTests.class }) public class TestAsyncRegionAdminApi extends TestAsyncAdminBase { - @ClassRule public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestAsyncRegionAdminApi.class); @Test - public void testGetRegionLocation() throws Exception { -RawAsyncHBaseAdmin rawAdmin = (RawAsyncHBaseAdmin) ASYNC_CONN.getAdmin(); -TEST_UTIL.createMultiRegionTable(tableName, HConstants.CATALOG_FAMILY); -AsyncTableRegionLocator locator = ASYNC_CONN.getRegionLocator(tableName); -HRegionLocation regionLocation = locator.getRegionLocation(Bytes.toBytes("mmm")).get(); -RegionInfo region = regionLocation.getRegion(); -byte[] regionName = regionLocation.getRegion().getRegionName(); -HRegionLocation location = rawAdmin.getRegionLocation(regionName).get(); -assertTrue(Bytes.equals(regionName, location.getRegion().getRegionName())); -location = rawAdmin.getRegionLocation(region.getEncodedNameAsBytes()).get(); -assertTrue(Bytes.equals(regionName, location.getRegion().getRegionName())); - } - - @Test public void testAssignRegionAndUnassignRegion() throws Exception { createTableWithDefaultConf(tableName); @@ -259,175 +241,6 @@ public class TestAsyncRegionAdminApi extends TestAsyncAdminBase { assertEquals(0, regionServer.getOnlineRegion(hri.getRegionName()).getMemStoreSize()); } - @Test - public void testSplitSwitch() throws Exception { -createTableWithDefaultConf(tableName); -byte[][] families = { FAMILY }; -final int rows = 1; -loadData(tableName, families, rows); - -AsyncTable metaTable = ASYNC_CONN.getTable(META_TABLE_NAME); -List regionLocations = -AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get(); -int originalCount = regionLocations.size(); - -initSplitMergeSwitch(); -assertTrue(admin.splitSwitch(false).get()); -try { - admin.split(tableName, Bytes.toBytes(rows / 2)).join(); -} catch (Exception e){ - //Expected -} -int count = admin.getRegions(tableName).get().size(); -assertTrue(originalCount == count); - -assertFa
hbase git commit: HBASE-19965 Fix flaky TestAsyncRegionAdminApi
Repository: hbase Updated Branches: refs/heads/branch-2 6f35b5393 -> 7104364a4 HBASE-19965 Fix flaky TestAsyncRegionAdminApi Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7104364a Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7104364a Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7104364a Branch: refs/heads/branch-2 Commit: 7104364a4d220830457feb7e0cd4c7f308071cd2 Parents: 6f35b53 Author: Michael Stack Authored: Mon Feb 12 22:24:50 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 22:24:50 2018 -0800 -- .../hbase/client/TestAsyncRegionAdminApi.java | 195 +-- .../hbase/client/TestAsyncRegionAdminApi2.java | 241 +++ 2 files changed, 245 insertions(+), 191 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/7104364a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java index b9afb68..fbb87bb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hbase.client; -import static org.apache.hadoop.hbase.TableName.META_TABLE_NAME; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; @@ -27,14 +26,10 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import org.apache.hadoop.hbase.AsyncMetaTableAccessor; import org.apache.hadoop.hbase.HBaseClassTestRule; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HRegionLocation; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.master.HMaster; @@ -60,30 +55,17 @@ import org.junit.runners.Parameterized; /** * Class to test asynchronous region admin operations. + * @see TestAsyncRegionAdminApi2 This test and it used to be joined it was taking longer than our + * ten minute timeout so they were split. */ @RunWith(Parameterized.class) @Category({ LargeTests.class, ClientTests.class }) public class TestAsyncRegionAdminApi extends TestAsyncAdminBase { - @ClassRule public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestAsyncRegionAdminApi.class); @Test - public void testGetRegionLocation() throws Exception { -RawAsyncHBaseAdmin rawAdmin = (RawAsyncHBaseAdmin) ASYNC_CONN.getAdmin(); -TEST_UTIL.createMultiRegionTable(tableName, HConstants.CATALOG_FAMILY); -AsyncTableRegionLocator locator = ASYNC_CONN.getRegionLocator(tableName); -HRegionLocation regionLocation = locator.getRegionLocation(Bytes.toBytes("mmm")).get(); -RegionInfo region = regionLocation.getRegion(); -byte[] regionName = regionLocation.getRegion().getRegionName(); -HRegionLocation location = rawAdmin.getRegionLocation(regionName).get(); -assertTrue(Bytes.equals(regionName, location.getRegion().getRegionName())); -location = rawAdmin.getRegionLocation(region.getEncodedNameAsBytes()).get(); -assertTrue(Bytes.equals(regionName, location.getRegion().getRegionName())); - } - - @Test public void testAssignRegionAndUnassignRegion() throws Exception { createTableWithDefaultConf(tableName); @@ -259,175 +241,6 @@ public class TestAsyncRegionAdminApi extends TestAsyncAdminBase { assertEquals(0, regionServer.getOnlineRegion(hri.getRegionName()).getMemStoreSize()); } - @Test - public void testSplitSwitch() throws Exception { -createTableWithDefaultConf(tableName); -byte[][] families = { FAMILY }; -final int rows = 1; -loadData(tableName, families, rows); - -AsyncTable metaTable = ASYNC_CONN.getTable(META_TABLE_NAME); -List regionLocations = -AsyncMetaTableAccessor.getTableHRegionLocations(metaTable, Optional.of(tableName)).get(); -int originalCount = regionLocations.size(); - -initSplitMergeSwitch(); -assertTrue(admin.splitSwitch(false).get()); -try { - admin.split(tableName, Bytes.toBytes(rows / 2)).join(); -} catch (Exception e){ - //Expected -} -int count = admin.getRegions(tableName).get().size(); -assertTrue(originalCount == count); - -asse
hbase git commit: HBASE-19960 Doc test timeouts and test categories in hbase2
Repository: hbase Updated Branches: refs/heads/master 24bed6b3f -> f8c3d4568 HBASE-19960 Doc test timeouts and test categories in hbase2 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f8c3d456 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f8c3d456 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f8c3d456 Branch: refs/heads/master Commit: f8c3d4568e02ba7c65d0ff82a644e8757c55ff7b Parents: 24bed6b Author: Michael Stack Authored: Mon Feb 12 20:52:01 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 20:53:42 2018 -0800 -- .../hbase/testclassification/LargeTests.java| 19 ++--- .../hbase/testclassification/MediumTests.java | 16 ++-- .../hbase/testclassification/SmallTests.java| 16 ++-- src/main/asciidoc/_chapters/developer.adoc | 89 ++-- 4 files changed, 86 insertions(+), 54 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f8c3d456/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java -- diff --git a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java index eb4a66a..aa183d5 100644 --- a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java +++ b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -19,18 +19,17 @@ package org.apache.hadoop.hbase.testclassification; /** - * Tag a test as 'large', meaning that the test class has the following - * characteristics: + * Tagging a test as 'large', means that the test class has the following characteristics: * - * executed in an isolated JVM. Tests can however be executed in different JVM on the same - * machine simultaneously. - * will not have to be executed by the developer before submitting a bug - * ideally, last less than 2 minutes to help parallelization + * it can executed in an isolated JVM (Tests can however be executed in different JVM on the + * same machine simultaneously so be careful two concurrent tests end up fighting over ports + * or other singular resources). + * ideally, the whole large test-suite/class, no matter how many or how few test methods it + * has, will run in last less than three minutes + * No large test can take longer than ten minutes; it will be killed. See 'Integeration Tests' + * if you need to run tests longer than this. * * - * It the worst case compared to small or medium, use it only for tests that - *you cannot put in the other categories - * * @see SmallTests * @see MediumTests * @see IntegrationTests http://git-wip-us.apache.org/repos/asf/hbase/blob/f8c3d456/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java -- diff --git a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java index 55f81cb..0f8055b 100644 --- a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java +++ b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -19,16 +19,16 @@ package org.apache.hadoop.hbase.testclassification; /** - * Tag a test as 'Medium', meaning that the test class has the following - * characteristics: + * Tagging a test as 'medium' means that the test class has the following characteristics: * - * executed in an isolated JVM. Tests can however be executed in different JVM on the same - * machine simultaneously. - * will have to be executed by the developer before submitting a bug - * ideally, last less than 1 minutes to help parallelization + * it can be executed in an isolated JVM (Tests can however be executed in different JVMs on + * the same machine simultaneously so be careful two concurrent tests end up fighting over ports + * or other singular resources). + * ideally, the whole medium test-suite/class, no matter how many or how few test methods it + * has, will complete in 50 seconds; otherwise make it a 'large' test. * * -
hbase git commit: HBASE-19960 Doc test timeouts and test categories in hbase2
Repository: hbase Updated Branches: refs/heads/branch-2 a23a7743c -> 6f35b5393 HBASE-19960 Doc test timeouts and test categories in hbase2 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6f35b539 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6f35b539 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6f35b539 Branch: refs/heads/branch-2 Commit: 6f35b5393c1f9462344380f48b30f247947806ef Parents: a23a774 Author: Michael Stack Authored: Mon Feb 12 20:52:01 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 20:52:01 2018 -0800 -- .../hbase/testclassification/LargeTests.java| 19 ++--- .../hbase/testclassification/MediumTests.java | 16 ++-- .../hbase/testclassification/SmallTests.java| 16 ++-- src/main/asciidoc/_chapters/developer.adoc | 89 ++-- 4 files changed, 86 insertions(+), 54 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6f35b539/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java -- diff --git a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java index eb4a66a..aa183d5 100644 --- a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java +++ b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/LargeTests.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -19,18 +19,17 @@ package org.apache.hadoop.hbase.testclassification; /** - * Tag a test as 'large', meaning that the test class has the following - * characteristics: + * Tagging a test as 'large', means that the test class has the following characteristics: * - * executed in an isolated JVM. Tests can however be executed in different JVM on the same - * machine simultaneously. - * will not have to be executed by the developer before submitting a bug - * ideally, last less than 2 minutes to help parallelization + * it can executed in an isolated JVM (Tests can however be executed in different JVM on the + * same machine simultaneously so be careful two concurrent tests end up fighting over ports + * or other singular resources). + * ideally, the whole large test-suite/class, no matter how many or how few test methods it + * has, will run in last less than three minutes + * No large test can take longer than ten minutes; it will be killed. See 'Integeration Tests' + * if you need to run tests longer than this. * * - * It the worst case compared to small or medium, use it only for tests that - *you cannot put in the other categories - * * @see SmallTests * @see MediumTests * @see IntegrationTests http://git-wip-us.apache.org/repos/asf/hbase/blob/6f35b539/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java -- diff --git a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java index 55f81cb..0f8055b 100644 --- a/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java +++ b/hbase-annotations/src/test/java/org/apache/hadoop/hbase/testclassification/MediumTests.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -19,16 +19,16 @@ package org.apache.hadoop.hbase.testclassification; /** - * Tag a test as 'Medium', meaning that the test class has the following - * characteristics: + * Tagging a test as 'medium' means that the test class has the following characteristics: * - * executed in an isolated JVM. Tests can however be executed in different JVM on the same - * machine simultaneously. - * will have to be executed by the developer before submitting a bug - * ideally, last less than 1 minutes to help parallelization + * it can be executed in an isolated JVM (Tests can however be executed in different JVMs on + * the same machine simultaneously so be careful two concurrent tests end up fighting over ports + * or other singular resources). + * ideally, the whole medium test-suite/class, no matter how many or how few test methods it + * has, will complete in 50 seconds; otherwise make it a 'large' test. *
hbase git commit: HBASE-19986 If HBaseTestClassRule timesout a test, thread dump; ADDENDUM; white-space, checkstyle, and rb feedback by Duo
Repository: hbase Updated Branches: refs/heads/branch-2 b19531f04 -> a23a7743c HBASE-19986 If HBaseTestClassRule timesout a test, thread dump; ADDENDUM; white-space, checkstyle, and rb feedback by Duo Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/a23a7743 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/a23a7743 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/a23a7743 Branch: refs/heads/branch-2 Commit: a23a7743c907ee7e8edc354ab29d016e1cc8b0ef Parents: b19531f Author: Michael Stack Authored: Mon Feb 12 18:12:08 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 18:12:46 2018 -0800 -- .../apache/hadoop/hbase/HBaseClassTestRule.java | 2 +- .../org/apache/hadoop/hbase/TestTimeout.java| 9 +++- .../hadoop/hbase/TimedOutTestsListener.java | 22 ++-- 3 files changed, 15 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/a23a7743/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java index b964872..d47b213 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information http://git-wip-us.apache.org/repos/asf/hbase/blob/a23a7743/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java index 495667c..d547ddb 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java @@ -33,7 +33,7 @@ public class TestTimeout { @Test public void run1() throws InterruptedException { -Thread.sleep(100); + Thread.sleep(100); } /** @@ -46,14 +46,11 @@ public class TestTimeout { Thread t = new Thread("HangingThread") { public void run() { synchronized(this) { -while(true) { -} +while(true) {} } } }; t.start(); - while (true) { -// Just hang out too. - } + while (true) {} } } http://git-wip-us.apache.org/repos/asf/hbase/blob/a23a7743/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java index d5c87f3..643058c 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java @@ -40,15 +40,15 @@ import org.junit.runner.notification.RunListener; public class TimedOutTestsListener extends RunListener { static final String TEST_TIMED_OUT_PREFIX = "test timed out after"; - + private static String INDENT = ""; private final PrintWriter output; - + public TimedOutTestsListener() { this.output = new PrintWriter(System.err); } - + public TimedOutTestsListener(PrintWriter output) { this.output = output; } @@ -63,16 +63,16 @@ public class TimedOutTestsListener extends RunListener { } output.flush(); } - + public static String buildThreadDiagnosticString() { StringWriter sw = new StringWriter(); PrintWriter output = new PrintWriter(sw); - + DateFormat dateFormat = new SimpleDateFormat("-MM-dd hh:mm:ss,SSS"); output.println(String.format("Timestamp: %s", dateFormat.format(new Date(; output.println(); output.println(buildThreadDump()); - + String deadlocksInfo = buildDeadlockInfo(); if (deadlocksInfo != null) { output.println("> DEADLOCKS DETECTED <"); @@ -106,28 +106,28 @@ public class TimedOutTestsListener extends RunListener { } return dump.toString(); } - + static String buildDeadlockInfo() { ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); long[] threadIds = threadBean.findMonitorDeadlockedThreads(); if (threadIds != null && threadIds.length > 0)
hbase git commit: HBASE-19986 If HBaseTestClassRule timesout a test, thread dump; ADDENDUM; white-space, checkstyle, and rb feedback by Duo
Repository: hbase Updated Branches: refs/heads/master 7cc239fb5 -> 24bed6b3f HBASE-19986 If HBaseTestClassRule timesout a test, thread dump; ADDENDUM; white-space, checkstyle, and rb feedback by Duo Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/24bed6b3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/24bed6b3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/24bed6b3 Branch: refs/heads/master Commit: 24bed6b3fbb54a20ef67201c160de649421cdd51 Parents: 7cc239f Author: Michael Stack Authored: Mon Feb 12 18:12:08 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 18:12:24 2018 -0800 -- .../apache/hadoop/hbase/HBaseClassTestRule.java | 2 +- .../org/apache/hadoop/hbase/TestTimeout.java| 9 +++- .../hadoop/hbase/TimedOutTestsListener.java | 22 ++-- 3 files changed, 15 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/24bed6b3/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java index b964872..d47b213 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java @@ -1,4 +1,4 @@ -/* +/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information http://git-wip-us.apache.org/repos/asf/hbase/blob/24bed6b3/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java index 495667c..d547ddb 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java @@ -33,7 +33,7 @@ public class TestTimeout { @Test public void run1() throws InterruptedException { -Thread.sleep(100); + Thread.sleep(100); } /** @@ -46,14 +46,11 @@ public class TestTimeout { Thread t = new Thread("HangingThread") { public void run() { synchronized(this) { -while(true) { -} +while(true) {} } } }; t.start(); - while (true) { -// Just hang out too. - } + while (true) {} } } http://git-wip-us.apache.org/repos/asf/hbase/blob/24bed6b3/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java index d5c87f3..643058c 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java @@ -40,15 +40,15 @@ import org.junit.runner.notification.RunListener; public class TimedOutTestsListener extends RunListener { static final String TEST_TIMED_OUT_PREFIX = "test timed out after"; - + private static String INDENT = ""; private final PrintWriter output; - + public TimedOutTestsListener() { this.output = new PrintWriter(System.err); } - + public TimedOutTestsListener(PrintWriter output) { this.output = output; } @@ -63,16 +63,16 @@ public class TimedOutTestsListener extends RunListener { } output.flush(); } - + public static String buildThreadDiagnosticString() { StringWriter sw = new StringWriter(); PrintWriter output = new PrintWriter(sw); - + DateFormat dateFormat = new SimpleDateFormat("-MM-dd hh:mm:ss,SSS"); output.println(String.format("Timestamp: %s", dateFormat.format(new Date(; output.println(); output.println(buildThreadDump()); - + String deadlocksInfo = buildDeadlockInfo(); if (deadlocksInfo != null) { output.println("> DEADLOCKS DETECTED <"); @@ -106,28 +106,28 @@ public class TimedOutTestsListener extends RunListener { } return dump.toString(); } - + static String buildDeadlockInfo() { ThreadMXBean threadBean = ManagementFactory.getThreadMXBean(); long[] threadIds = threadBean.findMonitorDeadlockedThreads(); if (threadIds != null && threadIds.length > 0) {
hbase git commit: HBASE-19970 (addendum for 1.x only) Remove unused functions from TableAuthManager.
Repository: hbase Updated Branches: refs/heads/branch-1 e6ce789b6 -> 0f79c497c HBASE-19970 (addendum for 1.x only) Remove unused functions from TableAuthManager. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0f79c497 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0f79c497 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0f79c497 Branch: refs/heads/branch-1 Commit: 0f79c497c52fbe78a1f344675579b6eb26d23b70 Parents: e6ce789 Author: Apekshit Sharma Authored: Mon Feb 12 16:30:48 2018 -0800 Committer: Apekshit Sharma Committed: Mon Feb 12 16:31:09 2018 -0800 -- .../hadoop/hbase/security/access/TestZKPermissionWatcher.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0f79c497/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestZKPermissionWatcher.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestZKPermissionWatcher.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestZKPermissionWatcher.java index a80f184..0961cab 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestZKPermissionWatcher.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestZKPermissionWatcher.java @@ -47,8 +47,8 @@ import org.junit.experimental.categories.Category; * Test the reading and writing of access permissions to and from zookeeper. */ @Category(LargeTests.class) -public class TestZKPermissionsWatcher { - private static final Log LOG = LogFactory.getLog(TestZKPermissionsWatcher.class); +public class TestZKPermissionWatcher { + private static final Log LOG = LogFactory.getLog(TestZKPermissionWatcher.class); private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); private static TableAuthManager AUTH_A; private static TableAuthManager AUTH_B; @@ -90,7 +90,7 @@ public class TestZKPermissionsWatcher { } private void setTableACL( - User user, TableAuthManager srcAuthManager, TableAuthManager destAuthManager, + User user, TableAuthManager srcAuthManager, final TableAuthManager destAuthManager, TablePermission.Action... actions) throws Exception{ // update ACL: george RW ListMultimap perms = ArrayListMultimap.create();
hbase git commit: HBASE-19970 Remove unused functions from TableAuthManager.
Repository: hbase Updated Branches: refs/heads/branch-1 fe5848038 -> e6ce789b6 HBASE-19970 Remove unused functions from TableAuthManager. Functions deleted: setTableUserPermissions, setTableGroupPermissions, setNamespaceUserPermissions, setNamespaceGroupPermissions, writeTableToZooKeeper, writeNamespaceToZooKeeper Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e6ce789b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e6ce789b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e6ce789b Branch: refs/heads/branch-1 Commit: e6ce789b6fa44592c3a566703c78de0687154a84 Parents: fe58480 Author: Apekshit Sharma Authored: Mon Feb 12 16:16:38 2018 -0800 Committer: Apekshit Sharma Committed: Mon Feb 12 16:20:36 2018 -0800 -- .../security/access/AccessControlLists.java | 9 +- .../hbase/security/access/AccessController.java | 4 +- .../hbase/security/access/TableAuthManager.java | 75 .../security/access/TestTablePermissions.java | 2 +- .../access/TestZKPermissionWatcher.java | 179 +++ .../access/TestZKPermissionsWatcher.java| 178 -- 6 files changed, 188 insertions(+), 259 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/e6ce789b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java index 57c0f7b..f508110 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java @@ -73,6 +73,10 @@ import org.apache.hadoop.io.Text; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; +import org.apache.hadoop.io.Writable; +import org.apache.hadoop.io.WritableFactories; +import org.apache.hadoop.io.WritableUtils; +import org.apache.jasper.tagplugins.jstl.core.Remove; /** * Maintains lists of permission grants to users and groups to allow for @@ -667,8 +671,7 @@ public class AccessControlLists { * * Writes a set of permission [user: table permission] */ - public static byte[] writePermissionsAsBytes(ListMultimap perms, - Configuration conf) { + public static byte[] writePermissionsAsBytes(ListMultimap perms) { return ProtobufUtil.prependPBMagic(ProtobufUtil.toUserTablePermissions(perms).toByteArray()); } @@ -755,7 +758,7 @@ public class AccessControlLists { // Deserialize the table permissions from the KV // TODO: This can be improved. Don't build UsersAndPermissions just to unpack it again, // use the builder - AccessControlProtos.UsersAndPermissions.Builder builder = + AccessControlProtos.UsersAndPermissions.Builder builder = AccessControlProtos.UsersAndPermissions.newBuilder(); ProtobufUtil.mergeFrom(builder, tag.getBuffer(), tag.getTagOffset(), tag.getTagLength()); ListMultimap kvPerms = http://git-wip-us.apache.org/repos/asf/hbase/blob/e6ce789b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java index fd0a704..c889a3e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java @@ -243,7 +243,7 @@ public class AccessController extends BaseMasterAndRegionObserver tables.entrySet()) { byte[] entry = t.getKey(); ListMultimap perms = t.getValue(); - byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); + byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms); getAuthManager().getZKPermissionWatcher().writeToZookeeper(entry, serialized); } initialized = true; @@ -275,7 +275,7 @@ public class AccessController extends BaseMasterAndRegionObserver try (Table t = regionEnv.getTable(AccessControlLists.ACL_TABLE_NAME)) { ListMultimap perms = AccessControlLists.getPermissions(conf, entry, t); - byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); + byte[] serialized = AccessControlLis
hbase git commit: HBASE-19970 Remove unused functions from TableAuthManager.
Repository: hbase Updated Branches: refs/heads/branch-2 e94f08277 -> b19531f04 HBASE-19970 Remove unused functions from TableAuthManager. Functions deleted: setTableUserPermissions, setTableGroupPermissions, setNamespaceUserPermissions, setNamespaceGroupPermissions, writeTableToZooKeeper, writeNamespaceToZooKeeper Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b19531f0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b19531f0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b19531f0 Branch: refs/heads/branch-2 Commit: b19531f04b2fd7178d8152068b8782e829b697ac Parents: e94f082 Author: Apekshit Sharma Authored: Fri Feb 9 18:32:20 2018 -0800 Committer: Apekshit Sharma Committed: Mon Feb 12 16:02:48 2018 -0800 -- .../security/access/AccessControlLists.java | 3 +- .../hbase/security/access/AccessController.java | 4 +- .../hbase/security/access/TableAuthManager.java | 75 .../security/access/TestTablePermissions.java | 2 +- .../access/TestZKPermissionWatcher.java | 55 +++--- 5 files changed, 32 insertions(+), 107 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/b19531f0/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java index b0f33bd..663d0c5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java @@ -644,8 +644,7 @@ public class AccessControlLists { * * Writes a set of permission [user: table permission] */ - public static byte[] writePermissionsAsBytes(ListMultimap perms, - Configuration conf) { + public static byte[] writePermissionsAsBytes(ListMultimap perms) { return ProtobufUtil.prependPBMagic(AccessControlUtil.toUserTablePermissions(perms).toByteArray()); } http://git-wip-us.apache.org/repos/asf/hbase/blob/b19531f0/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java index 3a4bf82..578cc4d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java @@ -246,7 +246,7 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, tables.entrySet()) { byte[] entry = t.getKey(); ListMultimap perms = t.getValue(); - byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); + byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms); getAuthManager().getZKPermissionWatcher().writeToZookeeper(entry, serialized); } initialized = true; @@ -283,7 +283,7 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, currentEntry = entry; ListMultimap perms = AccessControlLists.getPermissions(conf, entry, t); -byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); +byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms); zkw.writeToZookeeper(entry, serialized); } } catch(IOException ex) { http://git-wip-us.apache.org/repos/asf/hbase/blob/b19531f0/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java index 76feff4..fdfd5c8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java @@ -656,81 +656,6 @@ public class TableAuthManager implements Closeable { tableCache.remove(table); } - /** - * Overwrites the existing permission set for a given user for a table, and - * triggers an update for zookeeper synchronization. - * @param username - * @param table - * @param perms - */ - public void setTableUserPermissions(String username, Ta
hbase git commit: HBASE-19970 Remove unused functions from TableAuthManager.
Repository: hbase Updated Branches: refs/heads/master c2ee82c90 -> 7cc239fb5 HBASE-19970 Remove unused functions from TableAuthManager. Functions deleted: setTableUserPermissions, setTableGroupPermissions, setNamespaceUserPermissions, setNamespaceGroupPermissions, writeTableToZooKeeper, writeNamespaceToZooKeeper Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7cc239fb Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7cc239fb Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7cc239fb Branch: refs/heads/master Commit: 7cc239fb5ac0ce3f22d93d1dbf7e80609427710a Parents: c2ee82c Author: Apekshit Sharma Authored: Fri Feb 9 18:32:20 2018 -0800 Committer: Apekshit Sharma Committed: Mon Feb 12 16:01:29 2018 -0800 -- .../security/access/AccessControlLists.java | 3 +- .../hbase/security/access/AccessController.java | 6 +- .../hbase/security/access/TableAuthManager.java | 75 .../security/access/TestTablePermissions.java | 2 +- .../access/TestZKPermissionWatcher.java | 55 +++--- 5 files changed, 33 insertions(+), 108 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/7cc239fb/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java index b0f33bd..663d0c5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java @@ -644,8 +644,7 @@ public class AccessControlLists { * * Writes a set of permission [user: table permission] */ - public static byte[] writePermissionsAsBytes(ListMultimap perms, - Configuration conf) { + public static byte[] writePermissionsAsBytes(ListMultimap perms) { return ProtobufUtil.prependPBMagic(AccessControlUtil.toUserTablePermissions(perms).toByteArray()); } http://git-wip-us.apache.org/repos/asf/hbase/blob/7cc239fb/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java index 1fbf01d..3ac92b8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java @@ -247,7 +247,7 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, tables.entrySet()) { byte[] entry = t.getKey(); ListMultimap perms = t.getValue(); - byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); + byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms); getAuthManager().getZKPermissionWatcher().writeToZookeeper(entry, serialized); } initialized = true; @@ -284,7 +284,7 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, currentEntry = entry; ListMultimap perms = AccessControlLists.getPermissions(conf, entry, t); -byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms, conf); +byte[] serialized = AccessControlLists.writePermissionsAsBytes(perms); zkw.writeToZookeeper(entry, serialized); } } catch(IOException ex) { @@ -2456,7 +2456,7 @@ public class AccessController implements MasterCoprocessor, RegionCoprocessor, throws IOException { requirePermission(ctx, "replicateLogEntries", Action.WRITE); } - + @Override public void preClearCompactionQueues(ObserverContext ctx) throws IOException { http://git-wip-us.apache.org/repos/asf/hbase/blob/7cc239fb/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java index 76feff4..fdfd5c8 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/TableAuthManager.java @@ -656,81 +656,6 @@ public class TableAuthManager implements Close
hbase git commit: HBASE-19986 If HBaseTestClassRule timesout a test, thread dump
Repository: hbase Updated Branches: refs/heads/master 00f887732 -> c2ee82c90 HBASE-19986 If HBaseTestClassRule timesout a test, thread dump Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c2ee82c9 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c2ee82c9 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c2ee82c9 Branch: refs/heads/master Commit: c2ee82c9091a721e22a0eb69be17cd0217739099 Parents: 00f8877 Author: Michael Stack Authored: Mon Feb 12 14:00:35 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 15:28:40 2018 -0800 -- .../apache/hadoop/hbase/HBaseClassTestRule.java | 3 +- .../org/apache/hadoop/hbase/TestTimeout.java| 15 +- .../hadoop/hbase/TimedOutTestsListener.java | 177 +++ .../hadoop/hbase/TimedOutTestsListener.java | 176 -- pom.xml | 2 +- 5 files changed, 194 insertions(+), 179 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/c2ee82c9/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java index bcde826..b964872 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase; import java.util.concurrent.TimeUnit; + import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests; http://git-wip-us.apache.org/repos/asf/hbase/blob/c2ee82c9/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java index 343108e..495667c 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase; import org.apache.hadoop.hbase.testclassification.SmallTests; +import org.apache.hadoop.hbase.util.Threads; import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; @@ -41,6 +42,18 @@ public class TestTimeout { */ @Ignore @Test public void infiniteLoop() { -while (true) {} + // Launch a background non-daemon thread. + Thread t = new Thread("HangingThread") { +public void run() { + synchronized(this) { +while(true) { +} + } +} + }; + t.start(); + while (true) { +// Just hang out too. + } } } http://git-wip-us.apache.org/repos/asf/hbase/blob/c2ee82c9/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java new file mode 100644 index 000..d5c87f3 --- /dev/null +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java @@ -0,0 +1,177 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.management.LockInfo; +import java.lang.management.ManagementFactory; +import jav
hbase git commit: HBASE-19986 If HBaseTestClassRule timesout a test, thread dump
Repository: hbase Updated Branches: refs/heads/branch-2 1ae64ccee -> e94f08277 HBASE-19986 If HBaseTestClassRule timesout a test, thread dump Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e94f0827 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e94f0827 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e94f0827 Branch: refs/heads/branch-2 Commit: e94f0827769c8bcbf16e36223290d39ff31b4c12 Parents: 1ae64cc Author: Michael Stack Authored: Mon Feb 12 14:00:35 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 15:13:42 2018 -0800 -- .../apache/hadoop/hbase/HBaseClassTestRule.java | 3 +- .../org/apache/hadoop/hbase/TestTimeout.java| 15 +- .../hadoop/hbase/TimedOutTestsListener.java | 177 +++ .../hadoop/hbase/TimedOutTestsListener.java | 176 -- pom.xml | 2 +- 5 files changed, 194 insertions(+), 179 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/e94f0827/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java index bcde826..b964872 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase; import java.util.concurrent.TimeUnit; + import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests; http://git-wip-us.apache.org/repos/asf/hbase/blob/e94f0827/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java index 343108e..495667c 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TestTimeout.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hbase; import org.apache.hadoop.hbase.testclassification.SmallTests; +import org.apache.hadoop.hbase.util.Threads; import org.junit.ClassRule; import org.junit.Ignore; import org.junit.Test; @@ -41,6 +42,18 @@ public class TestTimeout { */ @Ignore @Test public void infiniteLoop() { -while (true) {} + // Launch a background non-daemon thread. + Thread t = new Thread("HangingThread") { +public void run() { + synchronized(this) { +while(true) { +} + } +} + }; + t.start(); + while (true) { +// Just hang out too. + } } } http://git-wip-us.apache.org/repos/asf/hbase/blob/e94f0827/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java -- diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java new file mode 100644 index 000..d5c87f3 --- /dev/null +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/TimedOutTestsListener.java @@ -0,0 +1,177 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.management.LockInfo; +import java.lang.management.ManagementFactory; +import
hbase git commit: HBASE-19981 Boolean#getBoolean is used to parse value
Repository: hbase Updated Branches: refs/heads/branch-1.4 1af0078a4 -> 17b75ed82 HBASE-19981 Boolean#getBoolean is used to parse value Signed-off-by: tedyu Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/17b75ed8 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/17b75ed8 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/17b75ed8 Branch: refs/heads/branch-1.4 Commit: 17b75ed82cd9de9a4d05fbe7e95d6ce8f48423d7 Parents: 1af0078 Author: Janos Gub Authored: Mon Feb 12 18:35:14 2018 +0100 Committer: tedyu Committed: Mon Feb 12 13:08:32 2018 -0800 -- .../src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/17b75ed8/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java index 560b74b..1ac774f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java @@ -1334,7 +1334,7 @@ public class HColumnDescriptor implements WritableComparable // in version 8, the BloomFilter setting changed from bool to enum if (version < 8 && Bytes.toString(key.get()).equals(BLOOMFILTER)) { value.set(Bytes.toBytes( - Boolean.getBoolean(Bytes.toString(value.get())) + Boolean.parseBoolean(Bytes.toString(value.get())) ? BloomType.ROW.toString() : BloomType.NONE.toString())); }
hbase git commit: HBASE-19981 Boolean#getBoolean is used to parse value
Repository: hbase Updated Branches: refs/heads/branch-1 7ced28f09 -> fe5848038 HBASE-19981 Boolean#getBoolean is used to parse value Signed-off-by: tedyu Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/fe584803 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/fe584803 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/fe584803 Branch: refs/heads/branch-1 Commit: fe5848038d4c9e00c19908d811163c01e6a8 Parents: 7ced28f Author: Janos Gub Authored: Mon Feb 12 18:35:14 2018 +0100 Committer: tedyu Committed: Mon Feb 12 13:08:04 2018 -0800 -- .../src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/fe584803/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java index 4a6550b..6488968 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java @@ -1336,7 +1336,7 @@ public class HColumnDescriptor implements WritableComparable // in version 8, the BloomFilter setting changed from bool to enum if (version < 8 && Bytes.toString(key.get()).equals(BLOOMFILTER)) { value.set(Bytes.toBytes( - Boolean.getBoolean(Bytes.toString(value.get())) + Boolean.parseBoolean(Bytes.toString(value.get())) ? BloomType.ROW.toString() : BloomType.NONE.toString())); }
hbase git commit: HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink; ADDENDUM to fix TestReplicationSink
Repository: hbase Updated Branches: refs/heads/branch-2 f5b365e2c -> 1ae64ccee HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink; ADDENDUM to fix TestReplicationSink Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1ae64cce Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1ae64cce Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1ae64cce Branch: refs/heads/branch-2 Commit: 1ae64ccee03d587bfeae9c84b946a3189136df1d Parents: f5b365e Author: Michael Stack Authored: Mon Feb 12 10:47:06 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 10:48:21 2018 -0800 -- .../hbase/master/assignment/AssignProcedure.java | 4 ++-- .../replication/regionserver/TestReplicationSink.java | 13 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1ae64cce/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java index 801caf5..65eafe7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java @@ -158,7 +158,7 @@ public class AssignProcedure extends RegionTransitionProcedure { LOG.info("Assigned, not reassigning; " + this + "; " + regionNode.toShortString()); return false; } -// Don't assign if table is in disabling of disabled state. +// Don't assign if table is in disabling or disabled state. TableStateManager tsm = env.getMasterServices().getTableStateManager(); TableName tn = regionNode.getRegionInfo().getTable(); if (tsm.isTableState(tn, TableState.State.DISABLING, TableState.State.DISABLED)) { @@ -166,7 +166,7 @@ public class AssignProcedure extends RegionTransitionProcedure { return false; } // If the region is SPLIT, we can't assign it. But state might be CLOSED, rather than -// SPLIT which is what a region gets set to when Unassigned as part of SPLIT. FIX. +// SPLIT which is what a region gets set to when unassigned as part of SPLIT. FIX. if (regionNode.isInState(State.SPLIT) || (regionNode.getRegionInfo().isOffline() && regionNode.getRegionInfo().isSplit())) { LOG.info("SPLIT, cannot be assigned; " + this + "; " + regionNode + http://git-wip-us.apache.org/repos/asf/hbase/blob/1ae64cce/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java index fcce84f..aa6c39c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -317,8 +317,8 @@ public class TestReplicationSink { Path dir = TEST_UTIL.getDataTestDirOnTestFS("testReplicateEntries"); Path familyDir = new Path(dir, Bytes.toString(FAM_NAME1)); int numRows = 10; - List p = new ArrayList<>(1); +final String hfilePrefix = "hfile-"; // 1. Generate 25 hfile ranges Random rng = new SecureRandom(); @@ -335,7 +335,7 @@ public class TestReplicationSink { FileSystem fs = dir.getFileSystem(conf); Iterator numbersItr = numberList.iterator(); for (int i = 0; i < 25; i++) { - Path hfilePath = new Path(familyDir, "hfile_" + i); + Path hfilePath = new Path(familyDir, hfilePrefix + i); HFileTestUtil.createHFile(conf, fs, hfilePath, FAM_NAME1, FAM_NAME1, Bytes.toBytes(numbersItr.next()), Bytes.toBytes(numbersItr.next()), numRows); p.add(hfilePath); @@ -370,10 +370,10 @@ public class TestReplicationSink { .append(Bytes.toString(TABLE_NAME1.getName())).append(Path.SEPARATOR) .append(Bytes.toString(loadDescriptor.getEncodedRegionName().toByteArray())) .append(Path.SEPARATOR).append(Bytes.toString(FAM_NAME1)).append(Path.SEPARATOR) - .append("hf
hbase git commit: HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink; ADDENDUM to fix TestReplicationSink
Repository: hbase Updated Branches: refs/heads/master 1c67d8a46 -> 00f887732 HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink; ADDENDUM to fix TestReplicationSink Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/00f88773 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/00f88773 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/00f88773 Branch: refs/heads/master Commit: 00f88773239b96e256c585fae98d846e2b65b4a4 Parents: 1c67d8a Author: Michael Stack Authored: Mon Feb 12 10:47:06 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 10:47:25 2018 -0800 -- .../hbase/master/assignment/AssignProcedure.java | 4 ++-- .../replication/regionserver/TestReplicationSink.java | 13 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/00f88773/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java index 801caf5..65eafe7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java @@ -158,7 +158,7 @@ public class AssignProcedure extends RegionTransitionProcedure { LOG.info("Assigned, not reassigning; " + this + "; " + regionNode.toShortString()); return false; } -// Don't assign if table is in disabling of disabled state. +// Don't assign if table is in disabling or disabled state. TableStateManager tsm = env.getMasterServices().getTableStateManager(); TableName tn = regionNode.getRegionInfo().getTable(); if (tsm.isTableState(tn, TableState.State.DISABLING, TableState.State.DISABLED)) { @@ -166,7 +166,7 @@ public class AssignProcedure extends RegionTransitionProcedure { return false; } // If the region is SPLIT, we can't assign it. But state might be CLOSED, rather than -// SPLIT which is what a region gets set to when Unassigned as part of SPLIT. FIX. +// SPLIT which is what a region gets set to when unassigned as part of SPLIT. FIX. if (regionNode.isInState(State.SPLIT) || (regionNode.getRegionInfo().isOffline() && regionNode.getRegionInfo().isSplit())) { LOG.info("SPLIT, cannot be assigned; " + this + "; " + regionNode + http://git-wip-us.apache.org/repos/asf/hbase/blob/00f88773/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java index fcce84f..aa6c39c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -317,8 +317,8 @@ public class TestReplicationSink { Path dir = TEST_UTIL.getDataTestDirOnTestFS("testReplicateEntries"); Path familyDir = new Path(dir, Bytes.toString(FAM_NAME1)); int numRows = 10; - List p = new ArrayList<>(1); +final String hfilePrefix = "hfile-"; // 1. Generate 25 hfile ranges Random rng = new SecureRandom(); @@ -335,7 +335,7 @@ public class TestReplicationSink { FileSystem fs = dir.getFileSystem(conf); Iterator numbersItr = numberList.iterator(); for (int i = 0; i < 25; i++) { - Path hfilePath = new Path(familyDir, "hfile_" + i); + Path hfilePath = new Path(familyDir, hfilePrefix + i); HFileTestUtil.createHFile(conf, fs, hfilePath, FAM_NAME1, FAM_NAME1, Bytes.toBytes(numbersItr.next()), Bytes.toBytes(numbersItr.next()), numRows); p.add(hfilePath); @@ -370,10 +370,10 @@ public class TestReplicationSink { .append(Bytes.toString(TABLE_NAME1.getName())).append(Path.SEPARATOR) .append(Bytes.toString(loadDescriptor.getEncodedRegionName().toByteArray())) .append(Path.SEPARATOR).append(Bytes.toString(FAM_NAME1)).append(Path.SEPARATOR) - .append("hfile_
hbase git commit: HBASE-19968 MapReduce test fails with NoClassDefFoundError against hadoop3
Repository: hbase Updated Branches: refs/heads/branch-2 c7473df2c -> f5b365e2c HBASE-19968 MapReduce test fails with NoClassDefFoundError against hadoop3 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f5b365e2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f5b365e2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f5b365e2 Branch: refs/heads/branch-2 Commit: f5b365e2c95e6da23866e5a85257f6320cca973d Parents: c7473df Author: tedyu Authored: Mon Feb 12 09:54:48 2018 -0800 Committer: tedyu Committed: Mon Feb 12 09:54:48 2018 -0800 -- hbase-mapreduce/pom.xml | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f5b365e2/hbase-mapreduce/pom.xml -- diff --git a/hbase-mapreduce/pom.xml b/hbase-mapreduce/pom.xml index 850cb7c..7ad4508 100644 --- a/hbase-mapreduce/pom.xml +++ b/hbase-mapreduce/pom.xml @@ -426,6 +426,10 @@ hadoop-common + org.apache.hadoop + hadoop-hdfs + + org.apache.hadoop hadoop-minicluster
hbase git commit: HBASE-19968 MapReduce test fails with NoClassDefFoundError against hadoop3
Repository: hbase Updated Branches: refs/heads/master 67b69fb2c -> 1c67d8a46 HBASE-19968 MapReduce test fails with NoClassDefFoundError against hadoop3 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1c67d8a4 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1c67d8a4 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1c67d8a4 Branch: refs/heads/master Commit: 1c67d8a46f644275484d0ae3554cb892e81882ba Parents: 67b69fb Author: tedyu Authored: Mon Feb 12 09:54:00 2018 -0800 Committer: tedyu Committed: Mon Feb 12 09:54:00 2018 -0800 -- hbase-mapreduce/pom.xml | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1c67d8a4/hbase-mapreduce/pom.xml -- diff --git a/hbase-mapreduce/pom.xml b/hbase-mapreduce/pom.xml index 4a416dc..76dd015 100644 --- a/hbase-mapreduce/pom.xml +++ b/hbase-mapreduce/pom.xml @@ -426,6 +426,10 @@ hadoop-common + org.apache.hadoop + hadoop-hdfs + + org.apache.hadoop hadoop-minicluster
hbase git commit: HBASE-16060 1.x clients cannot access table state talking to 2.0 cluster
Repository: hbase Updated Branches: refs/heads/master 8ff783f76 -> 67b69fb2c HBASE-16060 1.x clients cannot access table state talking to 2.0 cluster This patch adds mirroring of table state out to zookeeper. HBase-1.x clients look for table state in zookeeper, not in hbase:meta where hbase-2.x maintains table state. The patch also moves and refactors the 'migration' code that was put in place by HBASE-13032. D hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java Unused. M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Move table state migration code from Master startup out to TableStateManager where it belongs. Also start MirroringTableStateManager dependent on config. A hbase-server/src/main/java/org/apache/hadoop/hbase/master/MirroringTableStateManager.java M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java Move migration from zookeeper of table state in here. Also plumb in mechanism so subclass can get a chance to look at table state as we do the startup fixup full-table scan of meta. M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java Bug-fix. Now we create regions in CLOSED state but we fail to check table state; were presuming table always enabled. Meant on startup there'd be an unassigned region that never got assigned. A hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMirroringTableStateManager.java Test migration and mirroring. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/67b69fb2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/67b69fb2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/67b69fb2 Branch: refs/heads/master Commit: 67b69fb2c70d3a56ac45f59d57b7f2778094a566 Parents: 8ff783f Author: Michael Stack Authored: Thu Feb 8 00:19:06 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 08:47:02 2018 -0800 -- .../hadoop/hbase/CoordinatedStateException.java | 46 --- .../hadoop/hbase/zookeeper/ZNodePaths.java | 3 + .../src/main/protobuf/ZooKeeper.proto | 2 +- .../org/apache/hadoop/hbase/master/HMaster.java | 27 ++-- .../hbase/master/MasterMetaBootstrap.java | 3 + .../master/MirroringTableStateManager.java | 109 +++ .../hadoop/hbase/master/TableStateManager.java | 132 --- .../master/assignment/AssignmentManager.java| 11 +- .../master/procedure/DeleteTableProcedure.java | 5 +- .../master/procedure/ProcedureSyncWait.java | 3 +- .../procedure/TruncateTableProcedure.java | 5 +- .../hadoop/hbase/util/ZKDataMigrator.java | 11 +- .../hbase/master/TestMasterNoCluster.java | 3 +- .../master/TestMirroringTableStateManager.java | 105 +++ .../hbase/master/TestTableStateManager.java | 70 +- 15 files changed, 405 insertions(+), 130 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/67b69fb2/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java deleted file mode 100644 index fc0c4bc..000 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase; - -import org.apache.yetus.audience.InterfaceAudience; -import org.apache.hadoop.hbase.exceptions.HBaseException; - -/** - * Thrown by operations requiring coordination state access or manipulation - * when internal error within coordination engine (or other internal implementation) occurs. - */ -@InterfaceAudience.Private -@SuppressWarnings("serial") -public class CoordinatedStateException extends HBaseException { - public CoordinatedS
hbase git commit: HBASE-16060 1.x clients cannot access table state talking to 2.0 cluster
Repository: hbase Updated Branches: refs/heads/branch-2 43f507dfa -> c7473df2c HBASE-16060 1.x clients cannot access table state talking to 2.0 cluster This patch adds mirroring of table state out to zookeeper. HBase-1.x clients look for table state in zookeeper, not in hbase:meta where hbase-2.x maintains table state. The patch also moves and refactors the 'migration' code that was put in place by HBASE-13032. D hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java Unused. M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Move table state migration code from Master startup out to TableStateManager where it belongs. Also start MirroringTableStateManager dependent on config. A hbase-server/src/main/java/org/apache/hadoop/hbase/master/MirroringTableStateManager.java M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java Move migration from zookeeper of table state in here. Also plumb in mechanism so subclass can get a chance to look at table state as we do the startup fixup full-table scan of meta. M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java Bug-fix. Now we create regions in CLOSED state but we fail to check table state; were presuming table always enabled. Meant on startup there'd be an unassigned region that never got assigned. A hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMirroringTableStateManager.java Test migration and mirroring. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c7473df2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c7473df2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c7473df2 Branch: refs/heads/branch-2 Commit: c7473df2c3a5dc8cee526fc24b7f938e127f6d6a Parents: 43f507d Author: Michael Stack Authored: Thu Feb 8 00:19:06 2018 -0800 Committer: Michael Stack Committed: Mon Feb 12 08:22:14 2018 -0800 -- .../hadoop/hbase/CoordinatedStateException.java | 46 --- .../hadoop/hbase/zookeeper/ZNodePaths.java | 3 + .../src/main/protobuf/ZooKeeper.proto | 2 +- .../org/apache/hadoop/hbase/master/HMaster.java | 27 ++-- .../hbase/master/MasterMetaBootstrap.java | 3 + .../master/MirroringTableStateManager.java | 109 +++ .../hadoop/hbase/master/TableStateManager.java | 132 --- .../master/assignment/AssignmentManager.java| 11 +- .../master/procedure/DeleteTableProcedure.java | 5 +- .../master/procedure/ProcedureSyncWait.java | 3 +- .../procedure/TruncateTableProcedure.java | 5 +- .../hadoop/hbase/util/ZKDataMigrator.java | 11 +- .../hbase/master/TestMasterNoCluster.java | 3 +- .../master/TestMirroringTableStateManager.java | 105 +++ .../hbase/master/TestTableStateManager.java | 70 +- 15 files changed, 405 insertions(+), 130 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/c7473df2/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java deleted file mode 100644 index fc0c4bc..000 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/CoordinatedStateException.java +++ /dev/null @@ -1,46 +0,0 @@ -/** - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase; - -import org.apache.yetus.audience.InterfaceAudience; -import org.apache.hadoop.hbase.exceptions.HBaseException; - -/** - * Thrown by operations requiring coordination state access or manipulation - * when internal error within coordination engine (or other internal implementation) occurs. - */ -@InterfaceAudience.Private -@SuppressWarnings("serial") -public class CoordinatedStateException extends HBaseException { - public Coordina
[4/6] hbase-site git commit: Published site at .
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/mail-lists.html -- diff --git a/hbase-build-configuration/hbase-spark/mail-lists.html b/hbase-build-configuration/hbase-spark/mail-lists.html index e81ea2b..2b78475 100644 --- a/hbase-build-configuration/hbase-spark/mail-lists.html +++ b/hbase-build-configuration/hbase-spark/mail-lists.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Project Mailing Lists @@ -176,7 +176,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/plugin-management.html -- diff --git a/hbase-build-configuration/hbase-spark/plugin-management.html b/hbase-build-configuration/hbase-spark/plugin-management.html index 062cd3f..95d48ce 100644 --- a/hbase-build-configuration/hbase-spark/plugin-management.html +++ b/hbase-build-configuration/hbase-spark/plugin-management.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Project Plugin Management @@ -271,7 +271,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/plugins.html -- diff --git a/hbase-build-configuration/hbase-spark/plugins.html b/hbase-build-configuration/hbase-spark/plugins.html index 5bc60c3..0b5ceef 100644 --- a/hbase-build-configuration/hbase-spark/plugins.html +++ b/hbase-build-configuration/hbase-spark/plugins.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Project Plugins @@ -238,7 +238,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/project-info.html -- diff --git a/hbase-build-configuration/hbase-spark/project-info.html b/hbase-build-configuration/hbase-spark/project-info.html index cdc540a..8ee1c42 100644 --- a/hbase-build-configuration/hbase-spark/project-info.html +++ b/hbase-build-configuration/hbase-spark/project-info.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Project Information @@ -167,7 +167,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/project-reports.html -- diff --git a/hbase-build-configuration/hbase-spark/project-reports.html b/hbase-build-configuration/hbase-spark/project-reports.html index ec25da4..62a5962 100644 --- a/hbase-build-configuration/hbase-spark/project-reports.html +++ b/hbase-build-configuration/hbase-spark/project-reports.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Generated Reports @@ -131,7 +131,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-spark/project-summary.html -- diff --git a/hbase-build-configuration/hbase-spark/project-summary.html b/hbase-build-configuration/hbase-spark/project-summary.html index 5843b63..3c2180c 100644 --- a/hbase-build-configuration/hbase-spark/project-summary.html +++ b/hbase-build-configuration/hbase-spark/project-summary.html @@ -7,7 +7,7 @@ - + Apache HBase - Spark – Project Summary @@ -166,7 +166,7 @@
[3/6] hbase-site git commit: Published site at .
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/testdevapidocs/org/apache/hadoop/hbase/master/AbstractTestDLS.html -- diff --git a/testdevapidocs/org/apache/hadoop/hbase/master/AbstractTestDLS.html b/testdevapidocs/org/apache/hadoop/hbase/master/AbstractTestDLS.html index b922b2e..b48c274 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/master/AbstractTestDLS.html +++ b/testdevapidocs/org/apache/hadoop/hbase/master/AbstractTestDLS.html @@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab"; -public abstract class AbstractTestDLS +public abstract class AbstractTestDLS extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true"; title="class or interface in java.lang">Object Base class for testing distributed log splitting. @@ -355,7 +355,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? LOG -private static final org.slf4j.Logger LOG +private static final org.slf4j.Logger LOG @@ -364,7 +364,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? TEST_UTIL -private static final HBaseTestingUtility TEST_UTIL +private static final HBaseTestingUtility TEST_UTIL @@ -373,7 +373,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? NUM_MASTERS -private static final int NUM_MASTERS +private static final int NUM_MASTERS See Also: Constant Field Values @@ -386,7 +386,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? NUM_RS -private static final int NUM_RS +private static final int NUM_RS See Also: Constant Field Values @@ -399,7 +399,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? COLUMN_FAMILY -private static byte[] COLUMN_FAMILY +private static byte[] COLUMN_FAMILY @@ -408,7 +408,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? testName -public org.junit.rules.TestName testName +public org.junit.rules.TestName testName @@ -417,7 +417,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? tableName -private org.apache.hadoop.hbase.TableName tableName +private org.apache.hadoop.hbase.TableName tableName @@ -426,7 +426,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? cluster -private MiniHBaseCluster cluster +private MiniHBaseCluster cluster @@ -435,7 +435,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? master -private org.apache.hadoop.hbase.master.HMaster master +private org.apache.hadoop.hbase.master.HMaster master @@ -444,7 +444,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? conf -private org.apache.hadoop.conf.Configuration conf +private org.apache.hadoop.conf.Configuration conf @@ -453,7 +453,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? name -public org.junit.rules.TestName name +public org.junit.rules.TestName name @@ -470,7 +470,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? AbstractTestDLS -public AbstractTestDLS() +public AbstractTestDLS() @@ -487,7 +487,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? setup -public static void setup() +public static void setup() throws http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"; title="class or interface in java.lang">Exception Throws: @@ -501,7 +501,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? tearDown -public static void tearDown() +public static void tearDown() throws http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"; title="class or interface in java.lang">Exception Throws: @@ -515,7 +515,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? getWalProvider -protected abstract http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true"; title="class or interface in java.lang">String getWalProvider() +protected abstract http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true"; title="class or interface in java.lang">String getWalProvider() @@ -524,7 +524,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? startCluster -private void startCluster(int numRS) +private void startCluster(int numRS) throws http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true"; title="class or interface in java.lang">Exception Throws: @@ -538,7 +538,7 @@ extends http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html? before -public void before() +public void before() throws http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-ex
hbase-site git commit: INFRA-10751 Empty commit
Repository: hbase-site Updated Branches: refs/heads/asf-site 2fda40d6c -> 5ffe2146b INFRA-10751 Empty commit Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/5ffe2146 Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/5ffe2146 Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/5ffe2146 Branch: refs/heads/asf-site Commit: 5ffe2146b4d0c214b581589a2d43eae84221bfd4 Parents: 2fda40d Author: jenkins Authored: Mon Feb 12 15:16:58 2018 + Committer: jenkins Committed: Mon Feb 12 15:16:58 2018 + -- --
[1/6] hbase-site git commit: Published site at .
Repository: hbase-site Updated Branches: refs/heads/asf-site 0f5c75b81 -> 2fda40d6c http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/testdevapidocs/src-html/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.html -- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.html index 0e73425..faa3100 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.html @@ -52,358 +52,396 @@ 044import org.apache.hadoop.hbase.KeyValue; 045import org.apache.hadoop.hbase.Stoppable; 046import org.apache.hadoop.hbase.TableName; -047import org.apache.hadoop.hbase.client.Connection; -048import org.apache.hadoop.hbase.client.ConnectionFactory; -049import org.apache.hadoop.hbase.client.Get; -050import org.apache.hadoop.hbase.client.RegionLocator; -051import org.apache.hadoop.hbase.client.Result; -052import org.apache.hadoop.hbase.client.ResultScanner; -053import org.apache.hadoop.hbase.client.Scan; -054import org.apache.hadoop.hbase.client.Table; -055import org.apache.hadoop.hbase.testclassification.MediumTests; -056import org.apache.hadoop.hbase.testclassification.ReplicationTests; -057import org.apache.hadoop.hbase.util.Bytes; -058import org.apache.hadoop.hbase.util.FSUtils; -059import org.apache.hadoop.hbase.util.HFileTestUtil; -060import org.junit.AfterClass; -061import org.junit.Before; -062import org.junit.BeforeClass; -063import org.junit.ClassRule; -064import org.junit.Test; -065import org.junit.experimental.categories.Category; -066import org.slf4j.Logger; -067import org.slf4j.LoggerFactory; -068 -069import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations; -070 -071import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; -072import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry; -073import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.UUID; -074import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos; -075import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey; -076 -077@Category({ReplicationTests.class, MediumTests.class}) -078public class TestReplicationSink { -079 -080 @ClassRule -081 public static final HBaseClassTestRule CLASS_RULE = -082 HBaseClassTestRule.forClass(TestReplicationSink.class); +047import org.apache.hadoop.hbase.TableNotFoundException; +048import org.apache.hadoop.hbase.client.Admin; +049import org.apache.hadoop.hbase.client.Connection; +050import org.apache.hadoop.hbase.client.ConnectionFactory; +051import org.apache.hadoop.hbase.client.Get; +052import org.apache.hadoop.hbase.client.RegionLocator; +053import org.apache.hadoop.hbase.client.Result; +054import org.apache.hadoop.hbase.client.ResultScanner; +055import org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException; +056import org.apache.hadoop.hbase.client.Scan; +057import org.apache.hadoop.hbase.client.Table; +058import org.apache.hadoop.hbase.testclassification.MediumTests; +059import org.apache.hadoop.hbase.testclassification.ReplicationTests; +060import org.apache.hadoop.hbase.util.Bytes; +061import org.apache.hadoop.hbase.util.FSUtils; +062import org.apache.hadoop.hbase.util.HFileTestUtil; +063import org.junit.AfterClass; +064import org.junit.Assert; +065import org.junit.Before; +066import org.junit.BeforeClass; +067import org.junit.ClassRule; +068import org.junit.Test; +069import org.junit.experimental.categories.Category; +070import org.slf4j.Logger; +071import org.slf4j.LoggerFactory; +072 +073import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations; +074 +075import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; +076import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry; +077import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.UUID; +078import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos; +079import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.WALKey; +080 +081@Category({ReplicationTests.class, MediumTests.class}) +082public class TestReplicationSink { 083 -084 private static final Logger LOG = LoggerFactory.getLogger(TestReplicationSink.class); -085 private static final int BATCH_SIZE = 10; -086 -087 protected final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); -088 -089 protected static ReplicationSink SINK; +084 @ClassRule +085 public static final HBaseClassTestRule CLASS_RULE = +086 HBaseClassTestRule.forClass(TestReplicationSink.class); +087 +088 private static final Logger LOG = LoggerFactory.getLogger(TestReplicationSink.class);
[5/6] hbase-site git commit: Published site at .
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html -- diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html index d46d5a4..eb8456d 100644 --- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html +++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/mail-lists.html @@ -7,7 +7,7 @@ - + Apache HBase - Archetype builder – Project Mailing Lists @@ -176,7 +176,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html -- diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html index 06713e5..b301714 100644 --- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html +++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugin-management.html @@ -7,7 +7,7 @@ - + Apache HBase - Archetype builder – Project Plugin Management @@ -271,7 +271,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html -- diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html index d7f9e4a..20d629a 100644 --- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html +++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/plugins.html @@ -7,7 +7,7 @@ - + Apache HBase - Archetype builder – Project Plugins @@ -214,7 +214,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html -- diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html index d73be3e..09e7bd5 100644 --- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html +++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-info.html @@ -7,7 +7,7 @@ - + Apache HBase - Archetype builder – Project Information @@ -167,7 +167,7 @@ https://www.apache.org/";>The Apache Software Foundation. All rights reserved. - Last Published: 2018-02-11 + Last Published: 2018-02-12 http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html -- diff --git a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html index a6012db..e6b4007 100644 --- a/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html +++ b/hbase-build-configuration/hbase-archetypes/hbase-archetype-builder/project-summary.html @@ -7,7 +7,7 @@ - + Apache HBase - Archetype builder – Project Summary @@ -163,7 +163,7 @@ https://www.apache.org/";>The Apache Software Foundation. All
[2/6] hbase-site git commit: Published site at .
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/2fda40d6/testdevapidocs/src-html/org/apache/hadoop/hbase/master/AbstractTestDLS.html -- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/AbstractTestDLS.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/AbstractTestDLS.html index c02a436..cdcd37f 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/master/AbstractTestDLS.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/master/AbstractTestDLS.html @@ -50,39 +50,39 @@ 042import java.util.concurrent.TimeUnit; 043import java.util.concurrent.TimeoutException; 044import java.util.concurrent.atomic.LongAdder; -045 -046import org.apache.hadoop.conf.Configuration; -047import org.apache.hadoop.fs.FSDataOutputStream; -048import org.apache.hadoop.fs.FileStatus; -049import org.apache.hadoop.fs.FileSystem; -050import org.apache.hadoop.fs.Path; -051import org.apache.hadoop.fs.PathFilter; -052import org.apache.hadoop.hbase.HBaseTestingUtility; -053import org.apache.hadoop.hbase.HConstants; -054import org.apache.hadoop.hbase.KeyValue; -055import org.apache.hadoop.hbase.MiniHBaseCluster; -056import org.apache.hadoop.hbase.NamespaceDescriptor; -057import org.apache.hadoop.hbase.ServerName; -058import org.apache.hadoop.hbase.SplitLogCounters; -059import org.apache.hadoop.hbase.TableName; -060import org.apache.hadoop.hbase.Waiter; -061import org.apache.hadoop.hbase.client.Put; -062import org.apache.hadoop.hbase.client.RegionInfo; -063import org.apache.hadoop.hbase.client.RegionInfoBuilder; -064import org.apache.hadoop.hbase.client.RegionLocator; -065import org.apache.hadoop.hbase.client.Table; -066import org.apache.hadoop.hbase.coordination.ZKSplitLogManagerCoordination; -067import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; -068import org.apache.hadoop.hbase.master.SplitLogManager.TaskBatch; -069import org.apache.hadoop.hbase.master.assignment.RegionStates; -070import org.apache.hadoop.hbase.regionserver.HRegion; -071import org.apache.hadoop.hbase.regionserver.HRegionServer; -072import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl; -073import org.apache.hadoop.hbase.regionserver.Region; -074import org.apache.hadoop.hbase.util.Bytes; -075import org.apache.hadoop.hbase.util.FSUtils; -076import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; -077import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +045import org.apache.hadoop.conf.Configuration; +046import org.apache.hadoop.fs.FSDataOutputStream; +047import org.apache.hadoop.fs.FileStatus; +048import org.apache.hadoop.fs.FileSystem; +049import org.apache.hadoop.fs.Path; +050import org.apache.hadoop.fs.PathFilter; +051import org.apache.hadoop.hbase.HBaseTestingUtility; +052import org.apache.hadoop.hbase.HConstants; +053import org.apache.hadoop.hbase.KeyValue; +054import org.apache.hadoop.hbase.MiniHBaseCluster; +055import org.apache.hadoop.hbase.NamespaceDescriptor; +056import org.apache.hadoop.hbase.ServerName; +057import org.apache.hadoop.hbase.SplitLogCounters; +058import org.apache.hadoop.hbase.TableName; +059import org.apache.hadoop.hbase.Waiter; +060import org.apache.hadoop.hbase.client.Put; +061import org.apache.hadoop.hbase.client.RegionInfo; +062import org.apache.hadoop.hbase.client.RegionInfoBuilder; +063import org.apache.hadoop.hbase.client.RegionLocator; +064import org.apache.hadoop.hbase.client.Table; +065import org.apache.hadoop.hbase.coordination.ZKSplitLogManagerCoordination; +066import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException; +067import org.apache.hadoop.hbase.master.SplitLogManager.TaskBatch; +068import org.apache.hadoop.hbase.master.assignment.RegionStates; +069import org.apache.hadoop.hbase.regionserver.HRegion; +070import org.apache.hadoop.hbase.regionserver.HRegionServer; +071import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl; +072import org.apache.hadoop.hbase.regionserver.Region; +073import org.apache.hadoop.hbase.util.Bytes; +074import org.apache.hadoop.hbase.util.FSUtils; +075import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; +076import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +077import org.apache.hadoop.hbase.util.Threads; 078import org.apache.hadoop.hbase.wal.AbstractFSWALProvider; 079import org.apache.hadoop.hbase.wal.WAL; 080import org.apache.hadoop.hbase.wal.WALEdit; @@ -100,693 +100,701 @@ 092import org.junit.rules.TestName; 093import org.slf4j.Logger; 094import org.slf4j.LoggerFactory; -095import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; -096 -097/** -098 * Base class for testing distributed log splitting. -099 */ -100public abstract class AbstractTestDLS { -101 private static final Logger LOG = LoggerFactory.getLogger(TestSplitLogManager.class); -102 -103 private static final HBaseTestingUtility TES
[6/6] hbase-site git commit: Published site at .
Published site at . Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/2fda40d6 Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/2fda40d6 Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/2fda40d6 Branch: refs/heads/asf-site Commit: 2fda40d6cca74e538fd8a98c1a7fff59df3e9348 Parents: 0f5c75b Author: jenkins Authored: Mon Feb 12 15:16:46 2018 + Committer: jenkins Committed: Mon Feb 12 15:16:46 2018 + -- acid-semantics.html |4 +- apache_hbase_reference_guide.pdf|4 +- book.html |2 +- bulk-loads.html |4 +- checkstyle-aggregate.html | 38 +- coc.html|4 +- cygwin.html |4 +- dependencies.html |4 +- dependency-convergence.html |4 +- dependency-info.html|4 +- dependency-management.html |4 +- devapidocs/constant-values.html |6 +- .../regionserver/ReplicationSink.html |6 +- .../org/apache/hadoop/hbase/Version.html|6 +- .../regionserver/ReplicationSink.html | 87 +- export_control.html |4 +- hbase-annotations/checkstyle.html |4 +- hbase-annotations/dependencies.html |4 +- hbase-annotations/dependency-convergence.html |4 +- hbase-annotations/dependency-info.html |4 +- hbase-annotations/dependency-management.html|4 +- hbase-annotations/index.html|4 +- hbase-annotations/integration.html |4 +- hbase-annotations/issue-tracking.html |4 +- hbase-annotations/license.html |4 +- hbase-annotations/mail-lists.html |4 +- hbase-annotations/plugin-management.html|4 +- hbase-annotations/plugins.html |4 +- hbase-annotations/project-info.html |4 +- hbase-annotations/project-reports.html |4 +- hbase-annotations/project-summary.html |4 +- hbase-annotations/source-repository.html|4 +- hbase-annotations/team-list.html|4 +- hbase-build-configuration/dependencies.html |4 +- .../dependency-convergence.html |4 +- hbase-build-configuration/dependency-info.html |4 +- .../dependency-management.html |4 +- .../hbase-archetypes/dependencies.html |4 +- .../dependency-convergence.html |4 +- .../hbase-archetypes/dependency-info.html |4 +- .../hbase-archetypes/dependency-management.html |4 +- .../hbase-archetype-builder/dependencies.html |4 +- .../dependency-convergence.html |4 +- .../dependency-info.html|4 +- .../dependency-management.html |4 +- .../hbase-archetype-builder/index.html |4 +- .../hbase-archetype-builder/integration.html|4 +- .../hbase-archetype-builder/issue-tracking.html |4 +- .../hbase-archetype-builder/license.html|4 +- .../hbase-archetype-builder/mail-lists.html |4 +- .../plugin-management.html |4 +- .../hbase-archetype-builder/plugins.html|4 +- .../hbase-archetype-builder/project-info.html |4 +- .../project-summary.html|4 +- .../source-repository.html |4 +- .../hbase-archetype-builder/team-list.html |4 +- .../hbase-client-project/checkstyle.html|4 +- .../hbase-client-project/dependencies.html |4 +- .../dependency-convergence.html |4 +- .../hbase-client-project/dependency-info.html |4 +- .../dependency-management.html |4 +- .../hbase-client-project/index.html |4 +- .../hbase-client-project/integration.html |4 +- .../hbase-client-project/issue-tracking.html|4 +- .../hbase-client-project/license.html |4 +- .../hbase-client-project/mail-lists.html|4 +- .../hbase-client-project/plugin-management.html |4 +- .../hbase-client-project/plugins.html |4 +- .../hbase-client-project/project-info.html |4 +- .../hbase-client-project/project-reports.html |4 +- .../hbase-client-project/project-summary.html |4 +- .../hbase-client-project/source-repository.html |4 +- .../hbase-client-project/team-list.html |4 +- .../hbase-shaded-client-project/checkstyle.html |4 +- .../dependencies.html
[12/13] hbase git commit: HBASE-19857 Complete the procedure for adding a sync replication peer
HBASE-19857 Complete the procedure for adding a sync replication peer Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8a3214f7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8a3214f7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8a3214f7 Branch: refs/heads/HBASE-19064 Commit: 8a3214f7d320d17ad81554b09645715668db494d Parents: 7905fce Author: zhangduo Authored: Thu Jan 25 20:09:00 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../hbase/replication/ReplicationPeer.java | 9 + .../hbase/replication/ReplicationPeerImpl.java | 28 +-- .../hbase/replication/ReplicationPeers.java | 3 +- .../regionserver/PeerActionListener.java| 10 +- .../SyncReplicationPeerProvider.java| 35 +++ .../SynchronousReplicationPeerProvider.java | 35 --- .../hbase/wal/SyncReplicationWALProvider.java | 234 +++ .../wal/SynchronousReplicationWALProvider.java | 225 -- .../org/apache/hadoop/hbase/wal/WALFactory.java | 8 +- .../TestReplicationSourceManager.java | 3 + .../wal/TestSyncReplicationWALProvider.java | 153 .../TestSynchronousReplicationWALProvider.java | 153 12 files changed, 456 insertions(+), 440 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8a3214f7/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeer.java -- diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeer.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeer.java index 2da3cce..0196a9a 100644 --- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeer.java +++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeer.java @@ -54,6 +54,15 @@ public interface ReplicationPeer { PeerState getPeerState(); /** + * Returns the sync replication state of the peer by reading local cache. + * + * If the peer is not a synchronous replication peer, a {@link SyncReplicationState#NONE} will be + * returned. + * @return the sync replication state + */ + SyncReplicationState getSyncReplicationState(); + + /** * Test whether the peer is enabled. * @return {@code true} if enabled, otherwise {@code false}. */ http://git-wip-us.apache.org/repos/asf/hbase/blob/8a3214f7/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerImpl.java -- diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerImpl.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerImpl.java index d656466..ff3f662 100644 --- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerImpl.java +++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerImpl.java @@ -36,6 +36,8 @@ public class ReplicationPeerImpl implements ReplicationPeer { private volatile PeerState peerState; + private volatile SyncReplicationState syncReplicationState; + private final List peerConfigListeners; /** @@ -45,12 +47,13 @@ public class ReplicationPeerImpl implements ReplicationPeer { * @param id string representation of this peer's identifier * @param peerConfig configuration for the replication peer */ - public ReplicationPeerImpl(Configuration conf, String id, boolean peerState, - ReplicationPeerConfig peerConfig) { + public ReplicationPeerImpl(Configuration conf, String id, ReplicationPeerConfig peerConfig, + boolean peerState, SyncReplicationState syncReplicationState) { this.conf = conf; this.id = id; this.peerState = peerState ? PeerState.ENABLED : PeerState.DISABLED; this.peerConfig = peerConfig; +this.syncReplicationState = syncReplicationState; this.peerConfigListeners = new ArrayList<>(); } @@ -77,37 +80,26 @@ public class ReplicationPeerImpl implements ReplicationPeer { return peerState; } - /** - * Get the peer config object - * @return the ReplicationPeerConfig for this peer - */ + @Override + public SyncReplicationState getSyncReplicationState() { +return syncReplicationState; + } + @Override public ReplicationPeerConfig getPeerConfig() { return peerConfig; } - /** - * Get the configuration object required to communicate with this peer - * @return configuration object - */ @Override public Configuration getConfiguration() { return conf; } - /** - * Get replicable (table, cf-list) map of
[13/13] hbase git commit: HBASE-19082 Reject read/write from client but accept write from replication in state S
HBASE-19082 Reject read/write from client but accept write from replication in state S Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e7d56a3e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e7d56a3e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e7d56a3e Branch: refs/heads/HBASE-19064 Commit: e7d56a3efb8188fb7146c1308ed15ab54c7e6e14 Parents: 735a67e Author: zhangduo Authored: Mon Feb 12 18:20:18 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:20:18 2018 +0800 -- .../org/apache/hadoop/hbase/HConstants.java | 3 - .../src/main/protobuf/MasterProcedure.proto | 3 +- .../hbase/replication/ReplicationUtils.java | 4 + ...ransitPeerSyncReplicationStateProcedure.java | 10 + .../hadoop/hbase/regionserver/HRegion.java | 5 +- .../hbase/regionserver/HRegionServer.java | 2 +- .../hbase/regionserver/RSRpcServices.java | 91 +++-- .../RejectRequestsFromClientStateChecker.java | 44 .../regionserver/ReplicationSink.java | 72 --- .../SyncReplicationPeerInfoProvider.java| 10 +- .../SyncReplicationPeerInfoProviderImpl.java| 19 +- .../hbase/wal/SyncReplicationWALProvider.java | 3 + .../org/apache/hadoop/hbase/wal/WALFactory.java | 4 +- .../hbase/replication/TestSyncReplication.java | 200 +++ .../wal/TestSyncReplicationWALProvider.java | 8 +- 15 files changed, 401 insertions(+), 77 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/e7d56a3e/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java index 4664778..1cd6f89 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java @@ -1351,9 +1351,6 @@ public final class HConstants { public static final String NOT_IMPLEMENTED = "Not implemented"; - // TODO: need to find a better place to hold it. - public static final String SYNC_REPLICATION_ENABLED = "hbase.replication.sync.enabled"; - private HConstants() { // Can't be instantiated with this ctor. } http://git-wip-us.apache.org/repos/asf/hbase/blob/e7d56a3e/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto -- diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto index 8cc5c81..2bf634b 100644 --- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto +++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto @@ -382,7 +382,8 @@ enum PeerSyncReplicationStateTransitionState { REOPEN_ALL_REGIONS_IN_PEER = 5; TRANSIT_PEER_NEW_SYNC_REPLICATION_STATE = 6; REFRESH_PEER_SYNC_REPLICATION_STATE_ON_RS_END = 7; - POST_PEER_SYNC_REPLICATION_STATE_TRANSITION = 8; + CREATE_DIR_FOR_REMOTE_WAL = 8; + POST_PEER_SYNC_REPLICATION_STATE_TRANSITION = 9; } message PeerModificationStateData { http://git-wip-us.apache.org/repos/asf/hbase/blob/e7d56a3e/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationUtils.java -- diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationUtils.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationUtils.java index d633be9..9d0c05d 100644 --- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationUtils.java +++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationUtils.java @@ -37,6 +37,10 @@ import org.apache.yetus.audience.InterfaceAudience; @InterfaceAudience.Private public final class ReplicationUtils { + public static final String SYNC_REPLICATION_ENABLED = "hbase.replication.sync.enabled"; + + public static final String REPLICATION_ATTR_NAME = "__rep__"; + private ReplicationUtils() { } http://git-wip-us.apache.org/repos/asf/hbase/blob/e7d56a3e/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/TransitPeerSyncReplicationStateProcedure.java index c253bff..e53abc0 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replic
[08/13] hbase git commit: HBASE-19781 Add a new cluster state flag for synchronous replication
HBASE-19781 Add a new cluster state flag for synchronous replication Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7905fce1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7905fce1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7905fce1 Branch: refs/heads/HBASE-19064 Commit: 7905fce127dc6d9749e84036fcc6005950636aa4 Parents: 4f31f5e Author: Guanghao Zhang Authored: Mon Jan 22 11:44:49 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../org/apache/hadoop/hbase/client/Admin.java | 39 + .../apache/hadoop/hbase/client/AsyncAdmin.java | 31 .../hadoop/hbase/client/AsyncHBaseAdmin.java| 7 + .../hbase/client/ConnectionImplementation.java | 9 ++ .../apache/hadoop/hbase/client/HBaseAdmin.java | 26 +++ .../hadoop/hbase/client/RawAsyncHBaseAdmin.java | 15 ++ .../client/ShortCircuitMasterConnection.java| 9 ++ .../replication/ReplicationPeerConfigUtil.java | 26 +-- .../replication/ReplicationPeerDescription.java | 10 +- .../hbase/replication/SyncReplicationState.java | 48 ++ .../hbase/shaded/protobuf/RequestConverter.java | 10 ++ .../src/main/protobuf/Master.proto | 4 + .../src/main/protobuf/MasterProcedure.proto | 6 +- .../src/main/protobuf/Replication.proto | 20 +++ .../replication/ReplicationPeerStorage.java | 18 ++- .../hbase/replication/ReplicationUtils.java | 1 + .../replication/ZKReplicationPeerStorage.java | 60 +-- .../replication/TestReplicationStateBasic.java | 23 ++- .../TestZKReplicationPeerStorage.java | 12 +- .../hbase/coprocessor/MasterObserver.java | 23 +++ .../org/apache/hadoop/hbase/master/HMaster.java | 12 ++ .../hbase/master/MasterCoprocessorHost.java | 21 +++ .../hadoop/hbase/master/MasterRpcServices.java | 17 ++ .../hadoop/hbase/master/MasterServices.java | 9 ++ .../procedure/PeerProcedureInterface.java | 2 +- .../replication/ReplicationPeerManager.java | 51 +- ...ransitPeerSyncReplicationStateProcedure.java | 159 +++ .../hbase/security/access/AccessController.java | 8 + .../replication/TestReplicationAdmin.java | 62 .../hbase/master/MockNoopMasterServices.java| 11 +- .../cleaner/TestReplicationHFileCleaner.java| 4 +- .../TestReplicationTrackerZKImpl.java | 6 +- .../TestReplicationSourceManager.java | 3 +- .../security/access/TestAccessController.java | 16 ++ .../hbase/util/TestHBaseFsckReplication.java| 5 +- .../src/main/ruby/hbase/replication_admin.rb| 15 ++ hbase-shell/src/main/ruby/shell.rb | 1 + .../src/main/ruby/shell/commands/list_peers.rb | 6 +- .../transit_peer_sync_replication_state.rb | 44 + .../test/ruby/hbase/replication_admin_test.rb | 24 +++ 40 files changed, 818 insertions(+), 55 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/7905fce1/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java index b8546fa..167d6f3 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java @@ -52,6 +52,7 @@ import org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException; import org.apache.hadoop.hbase.replication.ReplicationException; import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; import org.apache.hadoop.hbase.replication.ReplicationPeerDescription; +import org.apache.hadoop.hbase.replication.SyncReplicationState; import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException; import org.apache.hadoop.hbase.snapshot.SnapshotCreationException; @@ -2648,6 +2649,44 @@ public interface Admin extends Abortable, Closeable { List listReplicationPeers(Pattern pattern) throws IOException; /** + * Transit current cluster to a new state in a synchronous replication peer. + * @param peerId a short name that identifies the peer + * @param state a new state of current cluster + * @throws IOException if a remote or network exception occurs + */ + void transitReplicationPeerSyncReplicationState(String peerId, SyncReplicationState state) + throws IOException; + + /** + * Transit current cluster to a new state in a synchronous replication peer. But does not block + * and wait for it. + * + * You can use Future.get(long, TimeUnit) to wait on the operation to complete. It may throw + * Exe
[06/13] hbase git commit: HBASE-19083 Introduce a new log writer which can write to two HDFSes
HBASE-19083 Introduce a new log writer which can write to two HDFSes Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/18419c16 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/18419c16 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/18419c16 Branch: refs/heads/HBASE-19064 Commit: 18419c16bcf27ef95b87003cb713e87c55e5cf7c Parents: 8ff783f Author: zhangduo Authored: Thu Jan 11 21:08:02 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../hbase/regionserver/wal/AsyncFSWAL.java | 16 ++- .../regionserver/wal/CombinedAsyncWriter.java | 134 ++ .../hbase/regionserver/wal/DualAsyncFSWAL.java | 67 + .../wal/AbstractTestProtobufLog.java| 110 +++ .../regionserver/wal/ProtobufLogTestHelper.java | 99 ++ .../regionserver/wal/TestAsyncProtobufLog.java | 32 + .../wal/TestCombinedAsyncWriter.java| 136 +++ .../hbase/regionserver/wal/TestProtobufLog.java | 14 +- .../regionserver/wal/WriterOverAsyncWriter.java | 63 + 9 files changed, 531 insertions(+), 140 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/18419c16/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java index 19d89df..8e57441 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java @@ -606,12 +606,16 @@ public class AsyncFSWAL extends AbstractFSWAL { } } - @Override - protected AsyncWriter createWriterInstance(Path path) throws IOException { + protected final AsyncWriter createAsyncWriter(FileSystem fs, Path path) throws IOException { return AsyncFSWALProvider.createAsyncWriter(conf, fs, path, false, eventLoopGroup, channelClass); } + @Override + protected AsyncWriter createWriterInstance(Path path) throws IOException { +return createAsyncWriter(fs, path); + } + private void waitForSafePoint() { consumeLock.lock(); try { @@ -654,13 +658,13 @@ public class AsyncFSWAL extends AbstractFSWAL { } finally { consumeLock.unlock(); } -return executeClose(closeExecutor, oldWriter); +return executeClose(oldWriter); } @Override protected void doShutdown() throws IOException { waitForSafePoint(); -executeClose(closeExecutor, writer); +executeClose(writer); closeExecutor.shutdown(); try { if (!closeExecutor.awaitTermination(waitOnShutdownInSeconds, TimeUnit.SECONDS)) { @@ -698,7 +702,7 @@ public class AsyncFSWAL extends AbstractFSWAL { } } - private static long executeClose(ExecutorService closeExecutor, AsyncWriter writer) { + protected final long executeClose(AsyncWriter writer) { long fileLength; if (writer != null) { fileLength = writer.getLength(); @@ -706,7 +710,7 @@ public class AsyncFSWAL extends AbstractFSWAL { try { writer.close(); } catch (IOException e) { - LOG.warn("close old writer failed", e); + LOG.warn("close writer failed", e); } }); } else { http://git-wip-us.apache.org/repos/asf/hbase/blob/18419c16/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/CombinedAsyncWriter.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/CombinedAsyncWriter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/CombinedAsyncWriter.java new file mode 100644 index 000..8ecfede --- /dev/null +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/CombinedAsyncWriter.java @@ -0,0 +1,134 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the
[07/13] hbase git commit: HBASE-19781 Add a new cluster state flag for synchronous replication
http://git-wip-us.apache.org/repos/asf/hbase/blob/7905fce1/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java index 8911982..f5eca39 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsckReplication.java @@ -28,6 +28,7 @@ import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; import org.apache.hadoop.hbase.replication.ReplicationPeerStorage; import org.apache.hadoop.hbase.replication.ReplicationQueueStorage; import org.apache.hadoop.hbase.replication.ReplicationStorageFactory; +import org.apache.hadoop.hbase.replication.SyncReplicationState; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.apache.hadoop.hbase.util.HBaseFsck.ErrorReporter.ERROR_CODE; @@ -67,9 +68,9 @@ public class TestHBaseFsckReplication { String peerId1 = "1"; String peerId2 = "2"; peerStorage.addPeer(peerId1, ReplicationPeerConfig.newBuilder().setClusterKey("key").build(), - true); + true, SyncReplicationState.NONE); peerStorage.addPeer(peerId2, ReplicationPeerConfig.newBuilder().setClusterKey("key").build(), - true); + true, SyncReplicationState.NONE); for (int i = 0; i < 10; i++) { queueStorage.addWAL(ServerName.valueOf("localhost", 1 + i, 10 + i), peerId1, "file-" + i); http://git-wip-us.apache.org/repos/asf/hbase/blob/7905fce1/hbase-shell/src/main/ruby/hbase/replication_admin.rb -- diff --git a/hbase-shell/src/main/ruby/hbase/replication_admin.rb b/hbase-shell/src/main/ruby/hbase/replication_admin.rb index ba7d191..d5d4844 100644 --- a/hbase-shell/src/main/ruby/hbase/replication_admin.rb +++ b/hbase-shell/src/main/ruby/hbase/replication_admin.rb @@ -20,6 +20,7 @@ include Java java_import org.apache.hadoop.hbase.client.replication.ReplicationPeerConfigUtil +java_import org.apache.hadoop.hbase.replication.SyncReplicationState java_import org.apache.hadoop.hbase.replication.ReplicationPeerConfig java_import org.apache.hadoop.hbase.util.Bytes java_import org.apache.hadoop.hbase.zookeeper.ZKConfig @@ -329,6 +330,20 @@ module Hbase '!' + ReplicationPeerConfigUtil.convertToString(tableCFs) end +# Transit current cluster to a new state in the specified synchronous +# replication peer +def transit_peer_sync_replication_state(id, state) + if 'ACTIVE'.eql?(state) +@admin.transitReplicationPeerSyncReplicationState(id, SyncReplicationState::ACTIVE) + elsif 'DOWNGRADE_ACTIVE'.eql?(state) +@admin.transitReplicationPeerSyncReplicationState(id, SyncReplicationState::DOWNGRADE_ACTIVE) + elsif 'STANDBY'.eql?(state) +@admin.transitReplicationPeerSyncReplicationState(id, SyncReplicationState::STANDBY) + else +raise(ArgumentError, 'synchronous replication state must be ACTIVE, DOWNGRADE_ACTIVE or STANDBY') + end +end + #-- # Enables a table's replication switch def enable_tablerep(table_name) http://git-wip-us.apache.org/repos/asf/hbase/blob/7905fce1/hbase-shell/src/main/ruby/shell.rb -- diff --git a/hbase-shell/src/main/ruby/shell.rb b/hbase-shell/src/main/ruby/shell.rb index 507c0a9..0ed71ae 100644 --- a/hbase-shell/src/main/ruby/shell.rb +++ b/hbase-shell/src/main/ruby/shell.rb @@ -395,6 +395,7 @@ Shell.load_command_group( get_peer_config list_peer_configs update_peer_config +transit_peer_sync_replication_state ] ) http://git-wip-us.apache.org/repos/asf/hbase/blob/7905fce1/hbase-shell/src/main/ruby/shell/commands/list_peers.rb -- diff --git a/hbase-shell/src/main/ruby/shell/commands/list_peers.rb b/hbase-shell/src/main/ruby/shell/commands/list_peers.rb index caeab86..aa10fda 100644 --- a/hbase-shell/src/main/ruby/shell/commands/list_peers.rb +++ b/hbase-shell/src/main/ruby/shell/commands/list_peers.rb @@ -39,8 +39,8 @@ EOF peers = replication_admin.list_peers formatter.header(%w[PEER_ID CLUSTER_KEY ENDPOINT_CLASSNAME -REMOTE_ROOT_DIR STATE REPLICATE_ALL -NAMESPACES TABLE_CFS BANDWIDTH]) +REMOTE_ROOT_DIR SYNC_REPLICATION_STATE STATE +REPLICATE_ALL NAMESPACES TABLE_CFS BANDWIDTH]) peers.each
[03/13] hbase git commit: HBASE-19935 Only allow table replication for sync replication for now
HBASE-19935 Only allow table replication for sync replication for now Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3bf45695 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3bf45695 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3bf45695 Branch: refs/heads/HBASE-19064 Commit: 3bf456955f8e2a96d22259c6900a45d7ad0b1abc Parents: 0a3c9c1 Author: Guanghao Zhang Authored: Tue Feb 6 16:00:59 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../replication/ReplicationPeerConfig.java | 9 +++ .../replication/ReplicationPeerManager.java | 34 - .../replication/TestReplicationAdmin.java | 73 ++-- .../wal/TestCombinedAsyncWriter.java| 6 ++ .../wal/TestSyncReplicationWALProvider.java | 6 ++ 5 files changed, 102 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/3bf45695/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java index 4c10c46..69565a7 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java @@ -25,6 +25,8 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; + +import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.util.Bytes; import org.apache.yetus.audience.InterfaceAudience; @@ -217,6 +219,13 @@ public class ReplicationPeerConfig { return this.remoteWALDir; } + /** + * Use remote wal dir to decide whether a peer is sync replication peer + */ + public boolean isSyncReplication() { +return !StringUtils.isBlank(this.remoteWALDir); + } + public static ReplicationPeerConfigBuilder newBuilder() { return new ReplicationPeerConfigBuilderImpl(); } http://git-wip-us.apache.org/repos/asf/hbase/blob/3bf45695/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java index 9336fbd..6bfd9c9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/replication/ReplicationPeerManager.java @@ -167,7 +167,7 @@ public class ReplicationPeerManager { " does not match new remote wal dir '" + peerConfig.getRemoteWALDir() + "'"); } -if (oldPeerConfig.getRemoteWALDir() != null) { +if (oldPeerConfig.isSyncReplication()) { if (!ReplicationUtils.isKeyConfigEqual(oldPeerConfig, peerConfig)) { throw new DoNotRetryIOException( "Changing the replicated namespace/table config on a synchronous replication " @@ -195,8 +195,8 @@ public class ReplicationPeerManager { } ReplicationPeerConfig copiedPeerConfig = ReplicationPeerConfig.newBuilder(peerConfig).build(); SyncReplicationState syncReplicationState = -StringUtils.isBlank(peerConfig.getRemoteWALDir()) ? SyncReplicationState.NONE -: SyncReplicationState.DOWNGRADE_ACTIVE; +copiedPeerConfig.isSyncReplication() ? SyncReplicationState.DOWNGRADE_ACTIVE +: SyncReplicationState.NONE; peerStorage.addPeer(peerId, copiedPeerConfig, enabled, syncReplicationState); peers.put(peerId, new ReplicationPeerDescription(peerId, enabled, copiedPeerConfig, syncReplicationState)); @@ -316,9 +316,37 @@ public class ReplicationPeerManager { peerConfig.getTableCFsMap()); } +if (peerConfig.isSyncReplication()) { + checkPeerConfigForSyncReplication(peerConfig); +} + checkConfiguredWALEntryFilters(peerConfig); } + private void checkPeerConfigForSyncReplication(ReplicationPeerConfig peerConfig) + throws DoNotRetryIOException { +// This is used to reduce the difficulty for implementing the sync replication state transition +// as we need to reopen all the related regions. +// TODO: Add namespace, replicat_all flag back +if (peerConfig.replicateAllUserTables()) { + throw new DoNotRetryIOException( + "Only support replicated table config for syn
[11/13] hbase git commit: HBASE-19078 Add a remote peer cluster wal directory config for synchronous replication
HBASE-19078 Add a remote peer cluster wal directory config for synchronous replication Signed-off-by: zhangduo Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2e19dcb5 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2e19dcb5 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2e19dcb5 Branch: refs/heads/HBASE-19064 Commit: 2e19dcb5820b358910b6a61a2cb34f8e09bcb94d Parents: 18419c1 Author: Guanghao Zhang Authored: Sat Jan 13 18:55:28 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../replication/ReplicationPeerConfigUtil.java | 6 ++ .../replication/ReplicationPeerConfig.java | 21 +- .../ReplicationPeerConfigBuilder.java | 7 ++ .../src/main/protobuf/Replication.proto | 1 + .../replication/ReplicationPeerManager.java | 15 .../replication/TestReplicationAdmin.java | 77 .../src/main/ruby/hbase/replication_admin.rb| 17 +++-- hbase-shell/src/main/ruby/hbase_constants.rb| 1 + .../src/main/ruby/shell/commands/add_peer.rb| 21 +- .../src/main/ruby/shell/commands/list_peers.rb | 19 - .../test/ruby/hbase/replication_admin_test.rb | 16 11 files changed, 188 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/2e19dcb5/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java index a234a9b..642149b 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java @@ -315,6 +315,9 @@ public final class ReplicationPeerConfigUtil { excludeNamespacesList.stream().map(ByteString::toStringUtf8).collect(Collectors.toSet())); } +if (peer.hasRemoteWALDir()) { + builder.setRemoteWALDir(peer.getRemoteWALDir()); +} return builder.build(); } @@ -371,6 +374,9 @@ public final class ReplicationPeerConfigUtil { } } +if (peerConfig.getRemoteWALDir() != null) { + builder.setRemoteWALDir(peerConfig.getRemoteWALDir()); +} return builder.build(); } http://git-wip-us.apache.org/repos/asf/hbase/blob/2e19dcb5/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java index bf8d030..4c10c46 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java @@ -46,6 +46,8 @@ public class ReplicationPeerConfig { private Map> excludeTableCFsMap = null; private Set excludeNamespaces = null; private long bandwidth = 0; + // Used by synchronous replication + private String remoteWALDir; private ReplicationPeerConfig(ReplicationPeerConfigBuilderImpl builder) { this.clusterKey = builder.clusterKey; @@ -64,6 +66,7 @@ public class ReplicationPeerConfig { builder.excludeNamespaces != null ? Collections.unmodifiableSet(builder.excludeNamespaces) : null; this.bandwidth = builder.bandwidth; +this.remoteWALDir = builder.remoteWALDir; } private Map> @@ -210,6 +213,10 @@ public class ReplicationPeerConfig { return this; } + public String getRemoteWALDir() { +return this.remoteWALDir; + } + public static ReplicationPeerConfigBuilder newBuilder() { return new ReplicationPeerConfigBuilderImpl(); } @@ -223,7 +230,8 @@ public class ReplicationPeerConfig { .setReplicateAllUserTables(peerConfig.replicateAllUserTables()) .setExcludeTableCFsMap(peerConfig.getExcludeTableCFsMap()) .setExcludeNamespaces(peerConfig.getExcludeNamespaces()) -.setBandwidth(peerConfig.getBandwidth()); +.setBandwidth(peerConfig.getBandwidth()) +.setRemoteWALDir(peerConfig.getRemoteWALDir()); return builder; } @@ -250,6 +258,8 @@ public class ReplicationPeerConfig { private long bandwidth = 0; +private String remoteWALDir = null; + @Override public ReplicationPeerConfigBuilder setClusterKey(String clusterKey) { this.clusterKey = clusterKey; @@ -313
[10/13] hbase git commit: HBASE-19957 General framework to transit sync replication state
HBASE-19957 General framework to transit sync replication state Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/735a67ed Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/735a67ed Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/735a67ed Branch: refs/heads/HBASE-19064 Commit: 735a67ed46c58b1d2f8c109b1a664b44c02c9108 Parents: 3bf4569 Author: zhangduo Authored: Fri Feb 9 18:33:28 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../replication/ReplicationPeerConfig.java | 2 - .../replication/ReplicationPeerDescription.java | 5 +- .../hbase/replication/SyncReplicationState.java | 19 +- .../org/apache/hadoop/hbase/HConstants.java | 3 + .../src/main/protobuf/MasterProcedure.proto | 20 ++- .../hbase/replication/ReplicationPeerImpl.java | 45 - .../replication/ReplicationPeerStorage.java | 25 ++- .../hbase/replication/ReplicationPeers.java | 27 ++- .../replication/ZKReplicationPeerStorage.java | 65 +-- .../hbase/coprocessor/MasterObserver.java | 7 +- .../org/apache/hadoop/hbase/master/HMaster.java | 4 +- .../hbase/master/MasterCoprocessorHost.java | 12 +- .../replication/AbstractPeerProcedure.java | 14 +- .../master/replication/ModifyPeerProcedure.java | 15 +- .../replication/RefreshPeerProcedure.java | 18 +- .../replication/ReplicationPeerManager.java | 107 +++- ...ransitPeerSyncReplicationStateProcedure.java | 175 --- .../hbase/regionserver/HRegionServer.java | 35 ++-- .../regionserver/ReplicationSourceService.java | 11 +- .../regionserver/PeerActionListener.java| 4 +- .../regionserver/PeerProcedureHandler.java | 16 +- .../regionserver/PeerProcedureHandlerImpl.java | 55 +- .../regionserver/RefreshPeerCallable.java | 7 + .../replication/regionserver/Replication.java | 22 ++- .../regionserver/ReplicationSourceManager.java | 41 +++-- .../SyncReplicationPeerInfoProvider.java| 43 + .../SyncReplicationPeerInfoProviderImpl.java| 71 .../SyncReplicationPeerMappingManager.java | 48 + .../SyncReplicationPeerProvider.java| 35 .../hbase/wal/SyncReplicationWALProvider.java | 35 ++-- .../org/apache/hadoop/hbase/wal/WALFactory.java | 47 ++--- .../replication/TestReplicationAdmin.java | 3 +- .../TestReplicationSourceManager.java | 5 +- .../wal/TestSyncReplicationWALProvider.java | 36 ++-- 34 files changed, 752 insertions(+), 325 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/735a67ed/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java index 69565a7..79b3a1d 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerConfig.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.hadoop.hbase.replication; import java.util.Collection; @@ -25,7 +24,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; - import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.util.Bytes; http://git-wip-us.apache.org/repos/asf/hbase/blob/735a67ed/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java index 2d077c5..b0c27bb 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationPeerDescription.java @@ -20,7 +20,10 @@ package org.apache.hadoop.hbase.replication; import org.apache.yetus.audience.InterfaceAudience; /** - * The POJO equivalent of ReplicationProtos.ReplicationPeerDescription + * The POJO equivalent of ReplicationProtos.ReplicationPeerDescription. + * + * To developer, here we do not store the new sync replication state since it is just an + * intermediate state and this class is public. */ @InterfaceAudience.Public pu
[04/13] hbase git commit: HBASE-19747 Introduce a special WALProvider for synchronous replication
HBASE-19747 Introduce a special WALProvider for synchronous replication Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4f31f5e1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4f31f5e1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4f31f5e1 Branch: refs/heads/HBASE-19064 Commit: 4f31f5e1eb9d58145ee0e30a9957f2d8c8463af4 Parents: 2e19dcb Author: zhangduo Authored: Fri Jan 19 18:38:39 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../hbase/regionserver/wal/AbstractFSWAL.java | 7 + .../hbase/regionserver/wal/AsyncFSWAL.java | 1 - .../hbase/regionserver/wal/DualAsyncFSWAL.java | 4 +- .../hadoop/hbase/regionserver/wal/FSHLog.java | 3 - .../regionserver/PeerActionListener.java| 33 +++ .../SynchronousReplicationPeerProvider.java | 35 +++ .../hadoop/hbase/wal/AbstractFSWALProvider.java | 1 + .../hadoop/hbase/wal/AsyncFSWALProvider.java| 18 +- .../hbase/wal/NettyAsyncFSWALConfigHelper.java | 8 +- .../hbase/wal/RegionGroupingProvider.java | 13 +- .../wal/SynchronousReplicationWALProvider.java | 225 +++ .../org/apache/hadoop/hbase/wal/WALFactory.java | 37 ++- .../org/apache/hadoop/hbase/wal/WALKeyImpl.java | 16 +- .../regionserver/TestCompactionPolicy.java | 1 + .../regionserver/TestFailedAppendAndSync.java | 122 +- .../hadoop/hbase/regionserver/TestHRegion.java | 24 +- .../TestHRegionWithInMemoryFlush.java | 7 - .../hbase/regionserver/TestRegionIncrement.java | 20 +- .../hbase/regionserver/TestWALLockup.java | 1 + .../regionserver/wal/AbstractTestWALReplay.java | 1 + .../regionserver/wal/ProtobufLogTestHelper.java | 44 +++- .../hbase/regionserver/wal/TestAsyncFSWAL.java | 13 +- .../regionserver/wal/TestAsyncWALReplay.java| 4 +- .../wal/TestCombinedAsyncWriter.java| 3 +- .../hbase/regionserver/wal/TestFSHLog.java | 15 +- .../hbase/regionserver/wal/TestWALReplay.java | 1 + .../apache/hadoop/hbase/wal/IOTestProvider.java | 2 - .../TestSynchronousReplicationWALProvider.java | 153 + 28 files changed, 659 insertions(+), 153 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/4f31f5e1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java index 14fbe10..31b1c54 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java @@ -430,6 +430,13 @@ public abstract class AbstractFSWAL implements WAL { this.implClassName = getClass().getSimpleName(); } + /** + * Used to initialize the WAL. Usually just call rollWriter to create the first log writer. + */ + public void init() throws IOException { +rollWriter(); + } + @Override public void registerWALActionsListener(WALActionsListener listener) { this.listeners.add(listener); http://git-wip-us.apache.org/repos/asf/hbase/blob/4f31f5e1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java index 8e57441..ac72dc7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.java @@ -247,7 +247,6 @@ public class AsyncFSWAL extends AbstractFSWAL { batchSize = conf.getLong(WAL_BATCH_SIZE, DEFAULT_WAL_BATCH_SIZE); waitOnShutdownInSeconds = conf.getInt(ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS, DEFAULT_ASYNC_WAL_WAIT_ON_SHUTDOWN_IN_SECONDS); -rollWriter(); } private static boolean waitingRoll(int epochAndState) { http://git-wip-us.apache.org/repos/asf/hbase/blob/4f31f5e1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/DualAsyncFSWAL.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/DualAsyncFSWAL.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/DualAsyncFSWAL.java index 6bf9e02..f92ce93 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/DualAsyncFSWAL.java +++ b/hbase-ser
[02/13] hbase git commit: HBASE-19554 Dump thread info before failure
HBASE-19554 Dump thread info before failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8ff783f7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8ff783f7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8ff783f7 Branch: refs/heads/HBASE-19064 Commit: 8ff783f76d370199b81a24c48feaad1aa980285e Parents: 629eaf8 Author: zhangduo Authored: Mon Feb 12 16:01:33 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 16:03:52 2018 +0800 -- .../org/apache/hadoop/hbase/master/AbstractTestDLS.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8ff783f7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java index 73718b9..1f9fc5d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java @@ -42,7 +42,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.LongAdder; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; @@ -75,6 +74,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.hbase.wal.AbstractFSWALProvider; import org.apache.hadoop.hbase.wal.WAL; import org.apache.hadoop.hbase.wal.WALEdit; @@ -92,6 +92,7 @@ import org.junit.Test; import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; /** @@ -398,7 +399,14 @@ public abstract class AbstractTestDLS { } }); TEST_UTIL.waitUntilAllRegionsAssigned(tableName); - assertEquals(numRegionsToCreate * numRowsPerRegion, TEST_UTIL.countRows(table)); + int rows; + try { +rows = TEST_UTIL.countRows(table); + } catch (Exception e) { +Threads.printThreadInfo(System.out, "Thread dump before fail"); +throw e; + } + assertEquals(numRegionsToCreate * numRowsPerRegion, rows); } }
[01/13] hbase git commit: HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink [Forced Update!]
Repository: hbase Updated Branches: refs/heads/HBASE-19064 c37869259 -> e7d56a3ef (forced update) HBASE-19972 Should rethrow the RetriesExhaustedWithDetailsException when failed to apply the batch in ReplicationSink Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/629eaf8b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/629eaf8b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/629eaf8b Branch: refs/heads/HBASE-19064 Commit: 629eaf8b74a443fb9f6c5c99b5b3174bc91514ba Parents: 0593dda Author: huzheng Authored: Sun Feb 11 14:48:21 2018 +0800 Committer: huzheng Committed: Sun Feb 11 14:48:21 2018 +0800 -- .../regionserver/ReplicationSink.java | 3 +- .../regionserver/TestReplicationSink.java | 38 2 files changed, 40 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/629eaf8b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java index 902971e..5a05660 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java @@ -404,9 +404,10 @@ public class ReplicationSink { } catch (RetriesExhaustedWithDetailsException rewde) { for (Throwable ex : rewde.getCauses()) { if (ex instanceof TableNotFoundException) { - throw new TableNotFoundException("'"+tableName+"'"); + throw new TableNotFoundException("'" + tableName + "'"); } } + throw rewde; } catch (InterruptedException ix) { throw (InterruptedIOException) new InterruptedIOException().initCause(ix); } finally { http://git-wip-us.apache.org/repos/asf/hbase/blob/629eaf8b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java index 4629c68..fcce84f 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSink.java @@ -44,12 +44,15 @@ import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.Stoppable; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.TableNotFoundException; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.RegionLocator; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; +import org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.testclassification.MediumTests; @@ -58,6 +61,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.HFileTestUtil; import org.junit.AfterClass; +import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; @@ -271,6 +275,40 @@ public class TestReplicationSink { assertEquals(0, res.size()); } + @Test + public void testRethrowRetriesExhaustedWithDetailsException() throws Exception { +TableName notExistTable = TableName.valueOf("notExistTable"); +List entries = new ArrayList<>(); +List cells = new ArrayList<>(); +for (int i = 0; i < 10; i++) { + entries.add(createEntry(notExistTable, i, KeyValue.Type.Put, cells)); +} +try { + SINK.replicateEntries(entries, CellUtil.createCellScanner(cells.iterator()), +replicationClusterId, baseNamespaceDir, hfileArchiveDir); + Assert.fail("Should re-throw TableNotFoundException."); +} catch (TableNotFoundException e) { +} +entries.clear(); +cells.clear(); +for (int i = 0; i < 10; i++) { + entries.add(createEntry(TABLE_NAME1, i, KeyValue.Type.Put, cells)); +} +try (Connection conn = ConnectionFactory.c
[09/13] hbase git commit: HBASE-19957 General framework to transit sync replication state
http://git-wip-us.apache.org/repos/asf/hbase/blob/735a67ed/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java index 85b2e85..7b8c43b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java @@ -54,6 +54,7 @@ import org.apache.hadoop.hbase.replication.ReplicationException; import org.apache.hadoop.hbase.replication.ReplicationListener; import org.apache.hadoop.hbase.replication.ReplicationPeer; import org.apache.hadoop.hbase.replication.ReplicationPeer.PeerState; +import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; import org.apache.hadoop.hbase.replication.ReplicationPeers; import org.apache.hadoop.hbase.replication.ReplicationQueueInfo; import org.apache.hadoop.hbase.replication.ReplicationQueueStorage; @@ -136,6 +137,8 @@ public class ReplicationSourceManager implements ReplicationListener { // For recovered source, the queue id's format is peer_id-servername-* private final ConcurrentMap>> walsByIdRecoveredQueues; + private final SyncReplicationPeerMappingManager syncReplicationPeerMappingManager; + private final Configuration conf; private final FileSystem fs; // The paths to the latest log of each wal group, for new coming peers @@ -172,9 +175,8 @@ public class ReplicationSourceManager implements ReplicationListener { public ReplicationSourceManager(ReplicationQueueStorage queueStorage, ReplicationPeers replicationPeers, ReplicationTracker replicationTracker, Configuration conf, Server server, FileSystem fs, Path logDir, Path oldLogDir, UUID clusterId, - WALFileLengthProvider walFileLengthProvider) throws IOException { -// CopyOnWriteArrayList is thread-safe. -// Generally, reading is more than modifying. + WALFileLengthProvider walFileLengthProvider, + SyncReplicationPeerMappingManager syncReplicationPeerMappingManager) throws IOException { this.sources = new ConcurrentHashMap<>(); this.queueStorage = queueStorage; this.replicationPeers = replicationPeers; @@ -187,10 +189,11 @@ public class ReplicationSourceManager implements ReplicationListener { this.fs = fs; this.logDir = logDir; this.oldLogDir = oldLogDir; -this.sleepBeforeFailover = conf.getLong("replication.sleep.before.failover", 3); // 30 - // seconds +// 30 seconds +this.sleepBeforeFailover = conf.getLong("replication.sleep.before.failover", 3); this.clusterId = clusterId; this.walFileLengthProvider = walFileLengthProvider; +this.syncReplicationPeerMappingManager = syncReplicationPeerMappingManager; this.replicationTracker.registerListener(this); // It's preferable to failover 1 RS at a time, but with good zk servers // more could be processed at the same time. @@ -254,8 +257,11 @@ public class ReplicationSourceManager implements ReplicationListener { } /** - * 1. Add peer to replicationPeers 2. Add the normal source and related replication queue 3. Add - * HFile Refs + * + * Add peer to replicationPeers + * Add the normal source and related replication queue + * Add HFile Refs + * * @param peerId the id of replication peer */ public void addPeer(String peerId) throws IOException { @@ -274,13 +280,16 @@ public class ReplicationSourceManager implements ReplicationListener { } /** - * 1. Remove peer for replicationPeers 2. Remove all the recovered sources for the specified id - * and related replication queues 3. Remove the normal source and related replication queue 4. - * Remove HFile Refs + * + * Remove peer for replicationPeers + * Remove all the recovered sources for the specified id and related replication queues + * Remove the normal source and related replication queue + * Remove HFile Refs + * * @param peerId the id of the replication peer */ public void removePeer(String peerId) { -replicationPeers.removePeer(peerId); +ReplicationPeer peer = replicationPeers.removePeer(peerId); String terminateMessage = "Replication stream was removed by a user"; List oldSourcesToDelete = new ArrayList<>(); // synchronized on oldsources to avoid adding recovered source for the to-be-removed peer @@ -311,7 +320,10 @@ public class ReplicationSourceManager implements ReplicationListener { deleteQueue(peerId); this.walsById.remove(peerId); } - +Replicatio
[05/13] hbase git commit: HBASE-19864 Use protobuf instead of enum.ordinal to store SyncReplicationState
HBASE-19864 Use protobuf instead of enum.ordinal to store SyncReplicationState Signed-off-by: zhangduo Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0a3c9c1b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0a3c9c1b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0a3c9c1b Branch: refs/heads/HBASE-19064 Commit: 0a3c9c1b989164e98345d8251a0c133768d8cbab Parents: 8a3214f Author: Guanghao Zhang Authored: Fri Jan 26 16:50:48 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 18:10:36 2018 +0800 -- .../replication/ReplicationPeerConfigUtil.java | 22 ++--- .../hbase/replication/SyncReplicationState.java | 17 + .../hbase/shaded/protobuf/RequestConverter.java | 7 +++--- .../src/main/protobuf/Replication.proto | 13 ++ .../replication/ZKReplicationPeerStorage.java | 25 +--- .../hadoop/hbase/master/MasterRpcServices.java | 9 --- ...ransitPeerSyncReplicationStateProcedure.java | 9 --- .../TestReplicationSourceManager.java | 2 +- 8 files changed, 67 insertions(+), 37 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0a3c9c1b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java index 86b49ea..5096824 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationPeerConfigUtil.java @@ -398,7 +398,7 @@ public final class ReplicationPeerConfigUtil { ReplicationProtos.ReplicationState.State.ENABLED == desc.getState().getState(); ReplicationPeerConfig config = convert(desc.getConfig()); return new ReplicationPeerDescription(desc.getId(), enabled, config, - SyncReplicationState.valueOf(desc.getSyncReplicationState().getNumber())); + toSyncReplicationState(desc.getSyncReplicationState())); } public static ReplicationProtos.ReplicationPeerDescription @@ -406,17 +406,33 @@ public final class ReplicationPeerConfigUtil { ReplicationProtos.ReplicationPeerDescription.Builder builder = ReplicationProtos.ReplicationPeerDescription.newBuilder(); builder.setId(desc.getPeerId()); + ReplicationProtos.ReplicationState.Builder stateBuilder = ReplicationProtos.ReplicationState.newBuilder(); stateBuilder.setState(desc.isEnabled() ? ReplicationProtos.ReplicationState.State.ENABLED : ReplicationProtos.ReplicationState.State.DISABLED); builder.setState(stateBuilder.build()); + builder.setConfig(convert(desc.getPeerConfig())); -builder.setSyncReplicationState( - ReplicationProtos.SyncReplicationState.forNumber(desc.getSyncReplicationState().ordinal())); + builder.setSyncReplicationState(toSyncReplicationState(desc.getSyncReplicationState())); + return builder.build(); } + public static ReplicationProtos.SyncReplicationState + toSyncReplicationState(SyncReplicationState state) { +ReplicationProtos.SyncReplicationState.Builder syncReplicationStateBuilder = +ReplicationProtos.SyncReplicationState.newBuilder(); +syncReplicationStateBuilder + .setState(ReplicationProtos.SyncReplicationState.State.forNumber(state.ordinal())); +return syncReplicationStateBuilder.build(); + } + + public static SyncReplicationState + toSyncReplicationState(ReplicationProtos.SyncReplicationState state) { +return SyncReplicationState.valueOf(state.getState().getNumber()); + } + public static ReplicationPeerConfig appendTableCFsToReplicationPeerConfig( Map> tableCfs, ReplicationPeerConfig peerConfig) { ReplicationPeerConfigBuilder builder = ReplicationPeerConfig.newBuilder(peerConfig); http://git-wip-us.apache.org/repos/asf/hbase/blob/0a3c9c1b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/SyncReplicationState.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/SyncReplicationState.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/SyncReplicationState.java index bd144e9..a65b144 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/SyncReplicationState.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/SyncReplicationState.java @@ -17,8 +17,15 @@ */ package org.apache.hadoop.hbase.replication; +imp
hbase git commit: HBASE-19554 Dump thread info before failure
Repository: hbase Updated Branches: refs/heads/branch-2 d793db7c7 -> 43f507dfa HBASE-19554 Dump thread info before failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/43f507df Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/43f507df Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/43f507df Branch: refs/heads/branch-2 Commit: 43f507dfa83a526f1d2840a3e151f38a8875b9bb Parents: d793db7 Author: zhangduo Authored: Mon Feb 12 16:01:33 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 16:06:50 2018 +0800 -- .../org/apache/hadoop/hbase/master/AbstractTestDLS.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/43f507df/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java index 1d70c97..8527e5d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java @@ -42,7 +42,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.LongAdder; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; @@ -75,6 +74,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.hbase.wal.AbstractFSWALProvider; import org.apache.hadoop.hbase.wal.WAL; import org.apache.hadoop.hbase.wal.WALEdit; @@ -92,6 +92,7 @@ import org.junit.Test; import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; /** @@ -398,7 +399,14 @@ public abstract class AbstractTestDLS { } }); TEST_UTIL.waitUntilAllRegionsAssigned(tableName); - assertEquals(numRegionsToCreate * numRowsPerRegion, TEST_UTIL.countRows(table)); + int rows; + try { +rows = TEST_UTIL.countRows(table); + } catch (Exception e) { +Threads.printThreadInfo(System.out, "Thread dump before fail"); +throw e; + } + assertEquals(numRegionsToCreate * numRowsPerRegion, rows); } }
hbase git commit: HBASE-19554 Dump thread info before failure
Repository: hbase Updated Branches: refs/heads/master 629eaf8b7 -> 8ff783f76 HBASE-19554 Dump thread info before failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8ff783f7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8ff783f7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8ff783f7 Branch: refs/heads/master Commit: 8ff783f76d370199b81a24c48feaad1aa980285e Parents: 629eaf8 Author: zhangduo Authored: Mon Feb 12 16:01:33 2018 +0800 Committer: zhangduo Committed: Mon Feb 12 16:03:52 2018 +0800 -- .../org/apache/hadoop/hbase/master/AbstractTestDLS.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8ff783f7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java index 73718b9..1f9fc5d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/AbstractTestDLS.java @@ -42,7 +42,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.LongAdder; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; @@ -75,6 +74,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.hbase.wal.AbstractFSWALProvider; import org.apache.hadoop.hbase.wal.WAL; import org.apache.hadoop.hbase.wal.WALEdit; @@ -92,6 +92,7 @@ import org.junit.Test; import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; /** @@ -398,7 +399,14 @@ public abstract class AbstractTestDLS { } }); TEST_UTIL.waitUntilAllRegionsAssigned(tableName); - assertEquals(numRegionsToCreate * numRowsPerRegion, TEST_UTIL.countRows(table)); + int rows; + try { +rows = TEST_UTIL.countRows(table); + } catch (Exception e) { +Threads.printThreadInfo(System.out, "Thread dump before fail"); +throw e; + } + assertEquals(numRegionsToCreate * numRowsPerRegion, rows); } }