[hbase] branch branch-2.3 updated: HBASE-25456 : add security check for setRegionStateInMeta (#2836) (#2833)
This is an automated email from the ASF dual-hosted git repository. vjasani pushed a commit to branch branch-2.3 in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/branch-2.3 by this push: new 5abf4e9 HBASE-25456 : add security check for setRegionStateInMeta (#2836) (#2833) 5abf4e9 is described below commit 5abf4e97ef9b07072d12096856f0aeb3512d2ff0 Author: lujiefsi AuthorDate: Fri Jan 1 14:50:18 2021 +0800 HBASE-25456 : add security check for setRegionStateInMeta (#2836) (#2833) Signed-off-by: Viraj Jasani --- .../hadoop/hbase/master/MasterRpcServices.java | 1 + .../security/access/TestAccessController.java | 24 ++ 2 files changed, 25 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 0d5f6ee..566482a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2485,6 +2485,7 @@ public class MasterRpcServices extends RSRpcServices implements @Override public SetRegionStateInMetaResponse setRegionStateInMeta(RpcController controller, SetRegionStateInMetaRequest request) throws ServiceException { +rpcPreCheck("setRegionStateInMeta"); SetRegionStateInMetaResponse.Builder builder = SetRegionStateInMetaResponse.newBuilder(); try { for (RegionSpecifierAndState s : request.getStatesList()) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index cec8c26..bd61c98 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -36,7 +36,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.fs.FileStatus; @@ -69,6 +72,7 @@ import org.apache.hadoop.hbase.client.Hbck; import org.apache.hadoop.hbase.client.Increment; import org.apache.hadoop.hbase.client.MasterSwitchType; import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionLocator; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -102,6 +106,7 @@ import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.master.MasterCoprocessorHost; +import org.apache.hadoop.hbase.master.RegionState; import org.apache.hadoop.hbase.master.locking.LockProcedure; import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv; import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface; @@ -391,6 +396,25 @@ public class TestAccessController extends SecureTestUtil { } @Test + public void testUnauthorizedSetRegionStateInMeta() throws Exception { +Admin admin = TEST_UTIL.getAdmin(); +final List regions = admin.getRegions(TEST_TABLE); +RegionInfo closeRegion = regions.get(0); +Map newStates = new HashMap<>(); +newStates.put(closeRegion.getEncodedName(), RegionState.State.CLOSED); +AccessTestAction action = () -> { + try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration()); +Hbck hbck = conn.getHbck()){ +hbck.setRegionStateInMeta(newStates); + } + return null; +}; + +verifyDenied(action, USER_CREATE, USER_OWNER, USER_RW, USER_RO, USER_NONE, USER_GROUP_READ, +USER_GROUP_WRITE, USER_GROUP_CREATE); + } + + @Test public void testUnauthorizedFixMeta() throws Exception { AccessTestAction action = () -> { try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
[hbase] branch branch-2.4 updated: HBASE-25456 : add security check for setRegionStateInMeta (#2835) (#2833)
This is an automated email from the ASF dual-hosted git repository. vjasani pushed a commit to branch branch-2.4 in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/branch-2.4 by this push: new f5a7fff HBASE-25456 : add security check for setRegionStateInMeta (#2835) (#2833) f5a7fff is described below commit f5a7fffd8bdb4c78a05a4ecb6c2bf04137d66f7c Author: lujiefsi AuthorDate: Fri Jan 1 14:49:25 2021 +0800 HBASE-25456 : add security check for setRegionStateInMeta (#2835) (#2833) Signed-off-by: Viraj Jasani --- .../hadoop/hbase/master/MasterRpcServices.java | 1 + .../security/access/TestAccessController.java | 24 ++ 2 files changed, 25 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 77d5918..c3b94d9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2519,6 +2519,7 @@ public class MasterRpcServices extends RSRpcServices implements @Override public SetRegionStateInMetaResponse setRegionStateInMeta(RpcController controller, SetRegionStateInMetaRequest request) throws ServiceException { +rpcPreCheck("setRegionStateInMeta"); SetRegionStateInMetaResponse.Builder builder = SetRegionStateInMetaResponse.newBuilder(); try { for (RegionSpecifierAndState s : request.getStatesList()) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index 28f1b79..94b2385 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -36,7 +36,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.fs.FileStatus; @@ -69,6 +72,7 @@ import org.apache.hadoop.hbase.client.Hbck; import org.apache.hadoop.hbase.client.Increment; import org.apache.hadoop.hbase.client.MasterSwitchType; import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionLocator; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -102,6 +106,7 @@ import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.master.MasterCoprocessorHost; +import org.apache.hadoop.hbase.master.RegionState; import org.apache.hadoop.hbase.master.locking.LockProcedure; import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv; import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface; @@ -391,6 +396,25 @@ public class TestAccessController extends SecureTestUtil { } @Test + public void testUnauthorizedSetRegionStateInMeta() throws Exception { +Admin admin = TEST_UTIL.getAdmin(); +final List regions = admin.getRegions(TEST_TABLE); +RegionInfo closeRegion = regions.get(0); +Map newStates = new HashMap<>(); +newStates.put(closeRegion.getEncodedName(), RegionState.State.CLOSED); +AccessTestAction action = () -> { + try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration()); +Hbck hbck = conn.getHbck()){ +hbck.setRegionStateInMeta(newStates); + } + return null; +}; + +verifyDenied(action, USER_CREATE, USER_OWNER, USER_RW, USER_RO, USER_NONE, USER_GROUP_READ, +USER_GROUP_WRITE, USER_GROUP_CREATE); + } + + @Test public void testUnauthorizedFixMeta() throws Exception { AccessTestAction action = () -> { try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
[hbase] branch branch-2 updated: HBASE-25456 : add security check for setRegionStateInMeta (#2834) (#2833)
This is an automated email from the ASF dual-hosted git repository. vjasani pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/branch-2 by this push: new d022108 HBASE-25456 : add security check for setRegionStateInMeta (#2834) (#2833) d022108 is described below commit d0221083ca79487a462a4f0b2bacb61be38ee8d6 Author: lujiefsi AuthorDate: Fri Jan 1 14:48:34 2021 +0800 HBASE-25456 : add security check for setRegionStateInMeta (#2834) (#2833) Signed-off-by: Viraj Jasani --- .../hadoop/hbase/master/MasterRpcServices.java | 1 + .../security/access/TestAccessController.java | 24 ++ 2 files changed, 25 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 77d5918..c3b94d9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2519,6 +2519,7 @@ public class MasterRpcServices extends RSRpcServices implements @Override public SetRegionStateInMetaResponse setRegionStateInMeta(RpcController controller, SetRegionStateInMetaRequest request) throws ServiceException { +rpcPreCheck("setRegionStateInMeta"); SetRegionStateInMetaResponse.Builder builder = SetRegionStateInMetaResponse.newBuilder(); try { for (RegionSpecifierAndState s : request.getStatesList()) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index 28f1b79..94b2385 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -36,7 +36,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.fs.FileStatus; @@ -69,6 +72,7 @@ import org.apache.hadoop.hbase.client.Hbck; import org.apache.hadoop.hbase.client.Increment; import org.apache.hadoop.hbase.client.MasterSwitchType; import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionLocator; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -102,6 +106,7 @@ import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.master.MasterCoprocessorHost; +import org.apache.hadoop.hbase.master.RegionState; import org.apache.hadoop.hbase.master.locking.LockProcedure; import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv; import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface; @@ -391,6 +396,25 @@ public class TestAccessController extends SecureTestUtil { } @Test + public void testUnauthorizedSetRegionStateInMeta() throws Exception { +Admin admin = TEST_UTIL.getAdmin(); +final List regions = admin.getRegions(TEST_TABLE); +RegionInfo closeRegion = regions.get(0); +Map newStates = new HashMap<>(); +newStates.put(closeRegion.getEncodedName(), RegionState.State.CLOSED); +AccessTestAction action = () -> { + try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration()); +Hbck hbck = conn.getHbck()){ +hbck.setRegionStateInMeta(newStates); + } + return null; +}; + +verifyDenied(action, USER_CREATE, USER_OWNER, USER_RW, USER_RO, USER_NONE, USER_GROUP_READ, +USER_GROUP_WRITE, USER_GROUP_CREATE); + } + + @Test public void testUnauthorizedFixMeta() throws Exception { AccessTestAction action = () -> { try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
[hbase] branch master updated: HBASE-25456 : add security check for setRegionStateInMeta (#2833)
This is an automated email from the ASF dual-hosted git repository. vjasani pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/master by this push: new 126d01d HBASE-25456 : add security check for setRegionStateInMeta (#2833) 126d01d is described below commit 126d01dae301711ad65911c744ddc584549a33d2 Author: lujiefsi AuthorDate: Fri Jan 1 14:47:34 2021 +0800 HBASE-25456 : add security check for setRegionStateInMeta (#2833) Signed-off-by: Viraj Jasani --- .../hadoop/hbase/master/MasterRpcServices.java | 1 + .../security/access/TestAccessController.java | 23 ++ 2 files changed, 24 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index a117132..8f2f0da 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2550,6 +2550,7 @@ public class MasterRpcServices extends RSRpcServices implements @Override public SetRegionStateInMetaResponse setRegionStateInMeta(RpcController controller, SetRegionStateInMetaRequest request) throws ServiceException { +rpcPreCheck("setRegionStateInMeta"); SetRegionStateInMetaResponse.Builder builder = SetRegionStateInMetaResponse.newBuilder(); try { for (RegionSpecifierAndState s : request.getStatesList()) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java index 7ab808c..1727617 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java @@ -31,7 +31,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.CommonConfigurationKeys; import org.apache.hadoop.fs.FileStatus; @@ -88,6 +91,7 @@ import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.master.MasterCoprocessorHost; +import org.apache.hadoop.hbase.master.RegionState; import org.apache.hadoop.hbase.master.locking.LockProcedure; import org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv; import org.apache.hadoop.hbase.master.procedure.TableProcedureInterface; @@ -396,6 +400,25 @@ public class TestAccessController extends SecureTestUtil { } @Test + public void testUnauthorizedSetRegionStateInMeta() throws Exception { +Admin admin = TEST_UTIL.getAdmin(); +final List regions = admin.getRegions(TEST_TABLE); +RegionInfo closeRegion = regions.get(0); +Map newStates = new HashMap<>(); +newStates.put(closeRegion.getEncodedName(), RegionState.State.CLOSED); +AccessTestAction action = () -> { + try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration()); +Hbck hbck = conn.getHbck()){ +hbck.setRegionStateInMeta(newStates); + } + return null; +}; + +verifyDenied(action, USER_CREATE, USER_OWNER, USER_RW, USER_RO, USER_NONE, USER_GROUP_READ, +USER_GROUP_WRITE, USER_GROUP_CREATE); + } + + @Test public void testUnauthorizedFixMeta() throws Exception { AccessTestAction action = () -> { try(Connection conn = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
[hbase] branch master updated: HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads
This is an automated email from the ASF dual-hosted git repository. elserj pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/master by this push: new ec63cc3 HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads ec63cc3 is described below commit ec63cc3144d923e83e9fcd7a35d54ec80d4782aa Author: Josh Elser AuthorDate: Thu Nov 12 16:52:58 2020 -0500 HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads Closes #2651 Signed-off-by: Duo Zhang Signed-off-by: Yulin Niu --- .../src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java index 136134d..7a9fdd6 100644 --- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java +++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java @@ -97,7 +97,7 @@ public class ZKWatcher implements Watcher, Abortable, Closeable { // It is ok to do it in a single thread because the Zookeeper ClientCnxn already serializes the // requests using a single while loop and hence there is no performance degradation. private final ExecutorService zkEventProcessor = Executors.newSingleThreadExecutor( -new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d") +new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d").setDaemon(true) .setUncaughtExceptionHandler(Threads.LOGGING_EXCEPTION_HANDLER).build()); private final Configuration conf;
[hbase] branch branch-2 updated: HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads
This is an automated email from the ASF dual-hosted git repository. elserj pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/branch-2 by this push: new 46ea169 HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads 46ea169 is described below commit 46ea169ea7f69b8fc8a05851ea3921494536a5ab Author: Josh Elser AuthorDate: Thu Nov 12 16:52:58 2020 -0500 HBASE-25279 Make ZKWatcher ExecutorService launch daemon threads Closes #2651 Signed-off-by: Duo Zhang Signed-off-by: Yulin Niu --- .../src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java index 136134d..7a9fdd6 100644 --- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java +++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java @@ -97,7 +97,7 @@ public class ZKWatcher implements Watcher, Abortable, Closeable { // It is ok to do it in a single thread because the Zookeeper ClientCnxn already serializes the // requests using a single while loop and hence there is no performance degradation. private final ExecutorService zkEventProcessor = Executors.newSingleThreadExecutor( -new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d") +new ThreadFactoryBuilder().setNameFormat("zk-event-processor-pool-%d").setDaemon(true) .setUncaughtExceptionHandler(Threads.LOGGING_EXCEPTION_HANDLER).build()); private final Configuration conf;
[hbase-site] branch asf-site updated: INFRA-10751 Empty commit
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/hbase-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 1592d63 INFRA-10751 Empty commit 1592d63 is described below commit 1592d63999fd3d57c1075a086275ef2d833b702a Author: jenkins AuthorDate: Thu Dec 31 20:17:28 2020 + INFRA-10751 Empty commit
[hbase] branch master updated: HBASE-25435 Slow metric value can be configured (#2823)
This is an automated email from the ASF dual-hosted git repository. wangzheng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/master by this push: new 043da5f HBASE-25435 Slow metric value can be configured (#2823) 043da5f is described below commit 043da5f5eebd009a14780d12b4e70011b200b5bb Author: leyangyueshan <15891721...@163.com> AuthorDate: Thu Dec 31 22:37:31 2020 +0800 HBASE-25435 Slow metric value can be configured (#2823) * HBASE-25435 Slow metric value can be configured * fix HBASE-25435 * hbase-25435 add blank * fix hbase-25435-2 Co-authored-by: stevenxi --- .../hadoop/hbase/regionserver/MetricsRegionServer.java | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java index 6bbb620..3bd787d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java @@ -42,6 +42,7 @@ public class MetricsRegionServer { "hbase.regionserver.enable.table.latencies"; public static final boolean RS_ENABLE_TABLE_METRICS_DEFAULT = true; + public static final String SLOW_METRIC_TIME = "hbase.ipc.slow.metric.time"; private final MetricsRegionServerSource serverSource; private final MetricsRegionServerWrapper regionServerWrapper; private RegionServerTableMetrics tableMetrics; @@ -53,6 +54,8 @@ public class MetricsRegionServer { private Timer bulkLoadTimer; private Meter serverReadQueryMeter; private Meter serverWriteQueryMeter; + protected long slowMetricTime; + protected static final int DEFAULT_SLOW_METRIC_TIME = 1000; // milliseconds public MetricsRegionServer(MetricsRegionServerWrapper regionServerWrapper, Configuration conf, MetricsTable metricsTable) { @@ -68,6 +71,7 @@ public class MetricsRegionServer { // create and use metrics from the new hbase-metrics based registry. bulkLoadTimer = metricRegistry.timer("Bulkload"); +slowMetricTime = conf.getLong(SLOW_METRIC_TIME, DEFAULT_SLOW_METRIC_TIME); quotaSource = CompatibilitySingletonFactory.getInstance(MetricsRegionServerQuotaSource.class); serverReadQueryMeter = metricRegistry.meter("ServerReadQueryPerSecond"); serverWriteQueryMeter = metricRegistry.meter("ServerWriteQueryPerSecond"); @@ -109,7 +113,7 @@ public class MetricsRegionServer { if (tableMetrics != null && tn != null) { tableMetrics.updatePutBatch(tn, t); } -if (t > 1000) { +if (t > slowMetricTime) { serverSource.incrSlowPut(); } serverSource.updatePutBatch(t); @@ -135,7 +139,7 @@ public class MetricsRegionServer { if (tableMetrics != null && tn != null) { tableMetrics.updateDeleteBatch(tn, t); } -if (t > 1000) { +if (t > slowMetricTime) { serverSource.incrSlowDelete(); } serverSource.updateDeleteBatch(t); @@ -166,7 +170,7 @@ public class MetricsRegionServer { if (tableMetrics != null && tn != null) { tableMetrics.updateGet(tn, t); } -if (t > 1000) { +if (t > slowMetricTime) { serverSource.incrSlowGet(); } serverSource.updateGet(t); @@ -177,7 +181,7 @@ public class MetricsRegionServer { if (tableMetrics != null && tn != null) { tableMetrics.updateIncrement(tn, t); } -if (t > 1000) { +if (t > slowMetricTime) { serverSource.incrSlowIncrement(); } serverSource.updateIncrement(t); @@ -188,7 +192,7 @@ public class MetricsRegionServer { if (tableMetrics != null && tn != null) { tableMetrics.updateAppend(tn, t); } -if (t > 1000) { +if (t > slowMetricTime) { serverSource.incrSlowAppend(); } serverSource.updateAppend(t);
[hbase] 04/04: HBASE-23898 Add trace support for simple apis in async client (#2813)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-22120 in repository https://gitbox.apache.org/repos/asf/hbase.git commit 8be92b5572a356ac111ef3b4384a4d0bdcbd84fd Author: Duo Zhang AuthorDate: Wed Dec 30 14:58:57 2020 +0800 HBASE-23898 Add trace support for simple apis in async client (#2813) Signed-off-by: Guanghao Zhang --- hbase-client/pom.xml | 10 + .../hadoop/hbase/client/AsyncConnection.java | 4 +- .../hadoop/hbase/client/AsyncConnectionImpl.java | 114 +++--- .../hadoop/hbase/client/AsyncRegionLocator.java| 166 ++--- .../org/apache/hadoop/hbase/client/AsyncTable.java | 41 +- .../hbase/client/AsyncTableRegionLocatorImpl.java | 18 +- .../hadoop/hbase/client/ConnectionFactory.java | 55 +-- .../hadoop/hbase/client/RawAsyncTableImpl.java | 356 ++ .../apache/hadoop/hbase/ipc/AbstractRpcClient.java | 9 +- .../client/TestAsyncRegionLocatorTracing.java | 157 .../hadoop/hbase/client/TestAsyncTableTracing.java | 414 + .../org/apache/hadoop/hbase/trace/TraceUtil.java | 134 +++ .../org/apache/hadoop/hbase/ipc/CallRunner.java| 7 +- .../hadoop/hbase/ipc/ServerRpcConnection.java | 3 +- .../apache/hadoop/hbase/ipc/AbstractTestIPC.java | 24 +- pom.xml| 3 +- 16 files changed, 1168 insertions(+), 347 deletions(-) diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml index 45cdf88..5907a0b 100644 --- a/hbase-client/pom.xml +++ b/hbase-client/pom.xml @@ -145,6 +145,16 @@ joni + io.opentelemetry + opentelemetry-sdk + test + + + io.opentelemetry + opentelemetry-sdk-testing + test + + org.slf4j jcl-over-slf4j test diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnection.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnection.java index 0546520..8839eda 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnection.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnection.java @@ -64,8 +64,8 @@ public interface AsyncConnection extends Closeable { /** * Retrieve an {@link AsyncTable} implementation for accessing a table. * - * The returned instance will use default configs. Use {@link #getTableBuilder(TableName)} if - * you want to customize some configs. + * The returned instance will use default configs. Use {@link #getTableBuilder(TableName)} if you + * want to customize some configs. * * This method no longer checks table existence. An exception will be thrown if the table does not * exist only when the first operation is attempted. diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java index 1dbb7e6..28eda1c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java @@ -27,9 +27,9 @@ import static org.apache.hadoop.hbase.client.MetricsConnection.CLIENT_SIDE_METRI import static org.apache.hadoop.hbase.client.NonceGenerator.CLIENT_NONCES_ENABLED_KEY; import static org.apache.hadoop.hbase.util.FutureUtils.addListener; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.context.Scope; import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.Optional; import java.util.concurrent.CompletableFuture; @@ -53,14 +53,15 @@ import org.apache.hadoop.hbase.ipc.RpcClient; import org.apache.hadoop.hbase.ipc.RpcClientFactory; import org.apache.hadoop.hbase.ipc.RpcControllerFactory; import org.apache.hadoop.hbase.security.User; +import org.apache.hadoop.hbase.trace.TraceUtil; import org.apache.hadoop.hbase.util.ConcurrentMapUtils; import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.security.UserGroupInformation; -import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.hbase.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.hbase.thirdparty.io.netty.util.HashedWheelTimer; import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService; @@ -123,7 +124,7 @@ class AsyncConnectionImpl implements AsyncConnection { private volatile ConnectionOverAsyncConnection conn; public AsyncConnectionImpl(Configuration conf, ConnectionRegistry registry, String clusterId, - SocketAddress localAddress, User user) { +SocketAddress loc
[hbase] 02/04: HBASE-25401 Add trace support for async call in rpc client (#2790)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-22120 in repository https://gitbox.apache.org/repos/asf/hbase.git commit 79eb3c990181873074bd25d14b4bcbc0d5311002 Author: Duo Zhang AuthorDate: Wed Dec 23 11:51:53 2020 +0800 HBASE-25401 Add trace support for async call in rpc client (#2790) Signed-off-by: Guanghao Zhang --- .../apache/hadoop/hbase/ipc/AbstractRpcClient.java | 75 --- .../hadoop/hbase/ipc/BlockingRpcConnection.java| 21 +- .../java/org/apache/hadoop/hbase/ipc/Call.java | 2 +- .../java/org/apache/hadoop/hbase/ipc/IPCUtil.java | 12 +- .../hadoop/hbase/ipc/NettyRpcDuplexHandler.java| 8 +- .../org/apache/hadoop/hbase/trace/TraceUtil.java | 4 +- .../src/main/protobuf/rpc/Tracing.proto| 14 +- hbase-server/pom.xml | 10 + .../org/apache/hadoop/hbase/ipc/CallRunner.java| 19 +- .../org/apache/hadoop/hbase/ipc/ServerCall.java| 14 ++ .../hadoop/hbase/ipc/ServerRpcConnection.java | 222 - .../apache/hadoop/hbase/ipc/AbstractTestIPC.java | 59 +- .../org/apache/hadoop/hbase/ipc/TestNettyIPC.java | 1 + pom.xml| 12 +- 14 files changed, 299 insertions(+), 174 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java index e9ec6a9..3acc6c1 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java @@ -21,6 +21,9 @@ package org.apache.hadoop.hbase.ipc; import static org.apache.hadoop.hbase.ipc.IPCUtil.toIOE; import static org.apache.hadoop.hbase.ipc.IPCUtil.wrapException; +import io.opentelemetry.api.trace.Span; +import io.opentelemetry.api.trace.StatusCode; +import io.opentelemetry.context.Scope; import java.io.IOException; import java.net.SocketAddress; import java.util.Collection; @@ -38,6 +41,7 @@ import org.apache.hadoop.hbase.codec.KeyValueCodec; import org.apache.hadoop.hbase.net.Address; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.security.UserProvider; +import org.apache.hadoop.hbase.trace.TraceUtil; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; import org.apache.hadoop.hbase.util.PoolMap; import org.apache.hadoop.hbase.util.Threads; @@ -365,7 +369,7 @@ public abstract class AbstractRpcClient implements RpcC protected abstract T createConnection(ConnectionId remoteId) throws IOException; private void onCallFinished(Call call, HBaseRpcController hrc, Address addr, - RpcCallback callback) { +RpcCallback callback) { call.callStats.setCallTimeMs(EnvironmentEdgeManager.currentTime() - call.getStartTime()); if (metrics != null) { metrics.updateRpc(call.md, call.param, call.callStats); @@ -388,44 +392,59 @@ public abstract class AbstractRpcClient implements RpcC } } - Call callMethod(final Descriptors.MethodDescriptor md, final HBaseRpcController hrc, + private Call callMethod(final Descriptors.MethodDescriptor md, final HBaseRpcController hrc, final Message param, Message returnType, final User ticket, final Address addr, final RpcCallback callback) { -final MetricsConnection.CallStats cs = MetricsConnection.newCallStats(); -cs.setStartTime(EnvironmentEdgeManager.currentTime()); - -if (param instanceof ClientProtos.MultiRequest) { - ClientProtos.MultiRequest req = (ClientProtos.MultiRequest) param; - int numActions = 0; - for (ClientProtos.RegionAction regionAction : req.getRegionActionList()) { -numActions += regionAction.getActionCount(); - } +Span span = TraceUtil.getGlobalTracer().spanBuilder("RpcClient.callMethod." + md.getFullName()) + .startSpan(); +try (Scope scope = span.makeCurrent()) { + final MetricsConnection.CallStats cs = MetricsConnection.newCallStats(); + cs.setStartTime(EnvironmentEdgeManager.currentTime()); + + if (param instanceof ClientProtos.MultiRequest) { +ClientProtos.MultiRequest req = (ClientProtos.MultiRequest) param; +int numActions = 0; +for (ClientProtos.RegionAction regionAction : req.getRegionActionList()) { + numActions += regionAction.getActionCount(); +} - cs.setNumActionsPerServer(numActions); -} +cs.setNumActionsPerServer(numActions); + } -final AtomicInteger counter = concurrentCounterCache.getUnchecked(addr); -Call call = new Call(nextCallId(), md, param, hrc.cellScanner(), returnType, + final AtomicInteger counter = concurrentCounterCache.getUnchecked(addr); + Call call = new Call(nextCallId(), md, param, hrc.cellScanner(), returnType, hrc.getCallTimeout(), hrc.getPriority(), new RpcCallback(
[hbase] 03/04: HBASE-25424 Find a way to config OpenTelemetry tracing without direct… (#2808)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-22120 in repository https://gitbox.apache.org/repos/asf/hbase.git commit 0b5f888d4674cbb577b57f49a1c90568ee117b57 Author: Duo Zhang AuthorDate: Thu Dec 24 18:37:16 2020 +0800 HBASE-25424 Find a way to config OpenTelemetry tracing without direct… (#2808) Signed-off-by: Guanghao Zhang --- bin/hbase| 10 ++ conf/hbase-env.sh| 5 + hbase-assembly/pom.xml | 6 ++ hbase-assembly/src/main/assembly/hadoop-three-compat.xml | 9 - pom.xml | 7 +++ 5 files changed, 36 insertions(+), 1 deletion(-) diff --git a/bin/hbase b/bin/hbase index d2307c5..496ce49 100755 --- a/bin/hbase +++ b/bin/hbase @@ -475,6 +475,11 @@ add_jdk11_deps_to_classpath() { done } +enable_trace() { + agent_jar=$(find lib/trace -type f -name "opentelemetry-javaagent-*") + HBASE_OPTS="$HBASE_OPTS -javaagent:$agent_jar $HBASE_TRACE_OPTS" +} + #Add the development env class path stuff if $in_dev_env; then add_maven_deps_to_classpath "cached_classpath.txt" @@ -767,6 +772,11 @@ elif [ "${DEBUG}" = "true" ]; then echo "JDK11 jars skipped from classpath." fi +if [[ -n "${HBASE_TRACE_OPTS}" ]]; then + echo "Attach opentelemetry agent to enable trace" + enable_trace +fi + # Have JVM dump heap if we run out of memory. Files will be 'launch directory' # and are named like the following: java_pid21612.hprof. Apparently it doesn't # 'cost' to have this flag enabled. Its a 1.6 flag only. See: diff --git a/conf/hbase-env.sh b/conf/hbase-env.sh index e0f9c01..e1dff2b 100644 --- a/conf/hbase-env.sh +++ b/conf/hbase-env.sh @@ -142,3 +142,8 @@ # Override text processing tools for use by these launch scripts. # export GREP="${GREP-grep}" # export SED="${SED-sed}" + +# Uncomment to enable trace, you can change the options to use other exporters such as jaeger or +# zipkin. See https://github.com/open-telemetry/opentelemetry-java-instrumentation on how to config +# exporters and other components through system properties. +# export HBASE_TRACE_OPTS="-Dotel.config.sampler.probability=0.1 -Dotel.exporter=logging" diff --git a/hbase-assembly/pom.xml b/hbase-assembly/pom.xml index 8053517..248f0ce 100644 --- a/hbase-assembly/pom.xml +++ b/hbase-assembly/pom.xml @@ -339,5 +339,11 @@ log4j log4j + + + io.opentelemetry.javaagent + opentelemetry-javaagent + all + diff --git a/hbase-assembly/src/main/assembly/hadoop-three-compat.xml b/hbase-assembly/src/main/assembly/hadoop-three-compat.xml index 1c172e9..25d533b 100644 --- a/hbase-assembly/src/main/assembly/hadoop-three-compat.xml +++ b/hbase-assembly/src/main/assembly/hadoop-three-compat.xml @@ -113,6 +113,7 @@ org.apache.yetus:audience-annotations org.slf4j:slf4j-api org.slf4j:slf4j-log4j12 + io.opentelemetry.javaagent:* @@ -225,7 +226,7 @@ lib/jdk11 true - com.sun.activation:javax.activation +com.sun.activation:javax.activation
[hbase] 01/04: HBASE-25373 Remove HTrace completely in code base and try to make use of OpenTelemetry
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-22120 in repository https://gitbox.apache.org/repos/asf/hbase.git commit c044607a2468f09f0d2148a0e499653aab65bc82 Author: Duo Zhang AuthorDate: Wed Dec 9 23:28:50 2020 +0800 HBASE-25373 Remove HTrace completely in code base and try to make use of OpenTelemetry Signed-off-by: stack --- .../hadoop/hbase/io/asyncfs/AsyncFSTestBase.java | 4 - hbase-client/pom.xml | 4 +- .../hadoop/hbase/ipc/BlockingRpcConnection.java| 11 +- .../java/org/apache/hadoop/hbase/ipc/Call.java | 7 +- hbase-common/pom.xml | 4 +- .../hbase/trace/HBaseHTraceConfiguration.java | 80 --- .../hadoop/hbase/trace/SpanReceiverHost.java | 120 - .../org/apache/hadoop/hbase/trace/TraceUtil.java | 105 +-- hbase-external-blockcache/pom.xml | 4 - .../hadoop/hbase/io/hfile/MemcachedBlockCache.java | 14 +- hbase-it/pom.xml | 4 +- .../hadoop/hbase/mttr/IntegrationTestMTTR.java | 21 +-- .../trace/IntegrationTestSendTraceRequests.java| 127 +- hbase-mapreduce/pom.xml| 4 +- .../apache/hadoop/hbase/PerformanceEvaluation.java | 29 ++-- hbase-protocol-shaded/pom.xml | 4 - hbase-server/pom.xml | 4 +- .../apache/hadoop/hbase/executor/EventHandler.java | 16 ++- .../hadoop/hbase/io/hfile/HFileReaderImpl.java | 11 +- .../org/apache/hadoop/hbase/ipc/CallRunner.java| 37 +++--- .../org/apache/hadoop/hbase/master/HMaster.java| 2 - .../hadoop/hbase/master/HMasterCommandLine.java| 6 +- .../apache/hadoop/hbase/regionserver/HRegion.java | 15 ++- .../hadoop/hbase/regionserver/HRegionServer.java | 9 -- .../regionserver/HRegionServerCommandLine.java | 8 +- .../hadoop/hbase/regionserver/MemStoreFlusher.java | 14 +- .../hbase/regionserver/wal/AbstractFSWAL.java | 19 ++- .../hadoop/hbase/regionserver/wal/AsyncFSWAL.java | 17 ++- .../hadoop/hbase/regionserver/wal/FSHLog.java | 22 +-- .../apache/hadoop/hbase/HBaseTestingUtility.java | 4 - .../hadoop/hbase/TestExecutorStatusChore.java | 8 +- .../hadoop/hbase/executor/TestExecutorService.java | 4 +- .../apache/hadoop/hbase/trace/TestHTraceHooks.java | 134 --- .../org/apache/hadoop/hbase/trace/TraceTree.java | 148 - .../hadoop/hbase/wal/WALPerformanceEvaluation.java | 73 +++--- hbase-shaded/hbase-shaded-client/pom.xml | 1 + hbase-shaded/hbase-shaded-testing-util/pom.xml | 1 + hbase-shaded/pom.xml | 1 + hbase-shell/src/main/ruby/shell/commands/trace.rb | 43 +++--- hbase-zookeeper/pom.xml| 4 + .../hbase/zookeeper/RecoverableZooKeeper.java | 65 ++--- pom.xml| 30 - 42 files changed, 341 insertions(+), 897 deletions(-) diff --git a/hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/AsyncFSTestBase.java b/hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/AsyncFSTestBase.java index 9b276ac..971c7f9 100644 --- a/hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/AsyncFSTestBase.java +++ b/hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/AsyncFSTestBase.java @@ -19,11 +19,9 @@ package org.apache.hadoop.hbase.io.asyncfs; import java.io.File; import java.io.IOException; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseCommonTestingUtility; -import org.apache.hadoop.hbase.trace.TraceUtil; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -103,8 +101,6 @@ public abstract class AsyncFSTestBase { .setLevel(org.apache.log4j.Level.ERROR); org.apache.log4j.Logger.getLogger(org.apache.hadoop.metrics2.impl.MetricsSystemImpl.class) .setLevel(org.apache.log4j.Level.ERROR); - -TraceUtil.initTracer(conf); CLUSTER = new MiniDFSCluster.Builder(conf).numDataNodes(servers).build(); CLUSTER.waitClusterUp(); } diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml index 63e81d9..45cdf88 100644 --- a/hbase-client/pom.xml +++ b/hbase-client/pom.xml @@ -133,8 +133,8 @@ zookeeper - org.apache.htrace - htrace-core4 + io.opentelemetry + opentelemetry-api org.jruby.jcodings diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java index cd8035f..1a5cb73 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/BlockingRpcConnection.java +++ b/hbase-clie
[hbase] branch HBASE-22120 updated (cf3afec -> 8be92b5)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a change to branch HBASE-22120 in repository https://gitbox.apache.org/repos/asf/hbase.git. omit cf3afec HBASE-23898 Add trace support for simple apis in async client (#2813) omit ada9b4a HBASE-25424 Find a way to config OpenTelemetry tracing without direct… (#2808) omit 704b9c3 HBASE-25401 Add trace support for async call in rpc client (#2790) omit 968e4f1 HBASE-25373 Remove HTrace completely in code base and try to make use of OpenTelemetry add 29a9a16 HBASE-25441 : add security check for some APIs in RSRpcServices (#2810) add fbf00f9 HBASE-25451 Upgrade commons-io to 2.8.0 (#2825) new c044607 HBASE-25373 Remove HTrace completely in code base and try to make use of OpenTelemetry new 79eb3c9 HBASE-25401 Add trace support for async call in rpc client (#2790) new 0b5f888 HBASE-25424 Find a way to config OpenTelemetry tracing without direct… (#2808) new 8be92b5 HBASE-23898 Add trace support for simple apis in async client (#2813) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (cf3afec) \ N -- N -- N refs/heads/HBASE-22120 (8be92b5) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../hadoop/hbase/client/AsyncConnectionImpl.java | 7 --- .../hbase/client/example/AsyncClientExample.java | 2 +- .../hadoop/hbase/io/FSDataInputStreamWrapper.java | 8 .../org/apache/hadoop/hbase/io/hfile/HFile.java| 3 ++- .../apache/hadoop/hbase/io/hfile/HFileInfo.java| 17 +++ .../org/apache/hadoop/hbase/master/HMaster.java| 17 +-- .../hadoop/hbase/regionserver/RSRpcServices.java | 9 ++-- .../org/apache/hadoop/hbase/util/HBaseFsck.java| 13 ++-- .../org/apache/hadoop/hbase/util/RegionMover.java | 4 ++-- .../AbstractTestAsyncTableRegionReplicasRead.java | 5 +++-- .../hadoop/hbase/client/TestAsyncAdminBase.java| 5 +++-- .../hadoop/hbase/client/TestAsyncAdminBuilder.java | 5 +++-- .../hbase/client/TestAsyncClusterAdminApi2.java| 5 +++-- .../hbase/client/TestAsyncMetaRegionLocator.java | 5 +++-- .../client/TestAsyncNonMetaRegionLocator.java | 5 +++-- ...stAsyncNonMetaRegionLocatorConcurrenyLimit.java | 5 +++-- .../hbase/client/TestAsyncRegionLocator.java | 5 +++-- .../TestAsyncSingleRequestRpcRetryingCaller.java | 5 +++-- .../apache/hadoop/hbase/client/TestAsyncTable.java | 5 +++-- .../TestAsyncTableLocateRegionForDeletedTable.java | 5 +++-- .../hbase/client/TestAsyncTableNoncedRetry.java| 5 +++-- .../hbase/client/TestAsyncTableScanMetrics.java| 5 +++-- ...estCatalogReplicaLoadBalanceSimpleSelector.java | 6 -- .../hbase/client/TestMetaRegionLocationCache.java | 5 +++-- .../hbase/client/TestZKConnectionRegistry.java | 5 +++-- .../TestMasterOperationsForRegionReplicas.java | 4 ++-- .../regionserver/TestEndToEndSplitTransaction.java | 24 +++--- .../TestSplitTransactionOnCluster.java | 4 ++-- .../hbase/replication/TestReplicationBase.java | 12 ++- .../replication/TestReplicationSyncUpToolBase.java | 13 +++- .../TestSerialReplicationEndpoint.java | 5 ++--- pom.xml| 2 +- 32 files changed, 133 insertions(+), 92 deletions(-)
[hbase] branch branch-2 updated: HBASE-25451 Upgrade commons-io to 2.8.0 (#2825)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/branch-2 by this push: new 15d2745 HBASE-25451 Upgrade commons-io to 2.8.0 (#2825) 15d2745 is described below commit 15d27450c24767f7dd1c8672eb810caa747b2bff Author: Duo Zhang AuthorDate: Thu Dec 31 16:57:27 2020 +0800 HBASE-25451 Upgrade commons-io to 2.8.0 (#2825) Signed-off-by: Guanghao Zhang Signed-off-by: stack --- .../hadoop/hbase/client/AsyncConnectionImpl.java | 7 --- .../hbase/client/example/AsyncClientExample.java | 2 +- .../hadoop/hbase/io/FSDataInputStreamWrapper.java | 8 .../org/apache/hadoop/hbase/io/hfile/HFile.java| 3 ++- .../apache/hadoop/hbase/io/hfile/HFileInfo.java| 17 +++ .../org/apache/hadoop/hbase/master/HMaster.java| 5 ++--- .../org/apache/hadoop/hbase/util/HBaseFsck.java| 13 ++-- .../org/apache/hadoop/hbase/util/RegionMover.java | 4 ++-- .../AbstractTestAsyncTableRegionReplicasRead.java | 5 +++-- .../hadoop/hbase/client/TestAsyncAdminBase.java| 6 +++--- .../hadoop/hbase/client/TestAsyncAdminBuilder.java | 5 +++-- .../hbase/client/TestAsyncClusterAdminApi2.java| 5 +++-- .../hbase/client/TestAsyncMetaRegionLocator.java | 5 +++-- .../client/TestAsyncNonMetaRegionLocator.java | 5 +++-- ...stAsyncNonMetaRegionLocatorConcurrenyLimit.java | 5 +++-- .../hbase/client/TestAsyncRegionLocator.java | 5 +++-- .../TestAsyncSingleRequestRpcRetryingCaller.java | 5 +++-- .../apache/hadoop/hbase/client/TestAsyncTable.java | 5 +++-- .../TestAsyncTableLocateRegionForDeletedTable.java | 5 +++-- .../hbase/client/TestAsyncTableNoncedRetry.java| 5 +++-- .../hbase/client/TestAsyncTableScanMetrics.java| 5 +++-- ...estCatalogReplicaLoadBalanceSimpleSelector.java | 6 -- .../hbase/client/TestMetaRegionLocationCache.java | 5 +++-- .../hbase/client/TestZKConnectionRegistry.java | 5 +++-- .../TestMasterOperationsForRegionReplicas.java | 5 ++--- .../regionserver/TestEndToEndSplitTransaction.java | 24 +++--- .../TestSplitTransactionOnCluster.java | 4 ++-- .../hbase/replication/TestReplicationBase.java | 11 +- .../replication/TestReplicationSyncUpToolBase.java | 13 +++- .../TestSerialReplicationEndpoint.java | 5 ++--- pom.xml| 2 +- 31 files changed, 112 insertions(+), 93 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java index 00ce275..214b016 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java @@ -201,9 +201,10 @@ class AsyncConnectionImpl implements AsyncConnection { if(LOG.isDebugEnabled()){ logCallStack(Thread.currentThread().getStackTrace()); } -IOUtils.closeQuietly(clusterStatusListener); -IOUtils.closeQuietly(rpcClient); -IOUtils.closeQuietly(registry); +IOUtils.closeQuietly(clusterStatusListener, + e -> LOG.warn("failed to close clusterStatusListener", e)); +IOUtils.closeQuietly(rpcClient, e -> LOG.warn("failed to close rpcClient", e)); +IOUtils.closeQuietly(registry, e -> LOG.warn("failed to close registry", e)); if (choreService != null) { choreService.shutdown(); } diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java index b773ee8..fdbdbc6 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java @@ -111,7 +111,7 @@ public class AsyncClientExample extends Configured implements Tool { CompletableFuture closeFuture = new CompletableFuture<>(); addListener(f, (conn, error) -> { if (error == null) { -IOUtils.closeQuietly(conn); +IOUtils.closeQuietly(conn, e -> LOG.warn("failed to close conn", e)); } closeFuture.complete(null); }); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java index fccf73d..1473efc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java @@ -21,8 +21,6 @@ import java.io.Closeable; import java.io.IOException; import java.io.InputStream; i
[hbase] branch master updated: HBASE-25451 Upgrade commons-io to 2.8.0 (#2825)
This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git The following commit(s) were added to refs/heads/master by this push: new fbf00f9 HBASE-25451 Upgrade commons-io to 2.8.0 (#2825) fbf00f9 is described below commit fbf00f9c287acee55b02993f112b514247cddd86 Author: Duo Zhang AuthorDate: Thu Dec 31 16:57:27 2020 +0800 HBASE-25451 Upgrade commons-io to 2.8.0 (#2825) Signed-off-by: Guanghao Zhang Signed-off-by: stack --- .../hadoop/hbase/client/AsyncConnectionImpl.java | 7 --- .../hbase/client/example/AsyncClientExample.java | 2 +- .../hadoop/hbase/io/FSDataInputStreamWrapper.java | 8 .../org/apache/hadoop/hbase/io/hfile/HFile.java| 3 ++- .../apache/hadoop/hbase/io/hfile/HFileInfo.java| 17 +++ .../org/apache/hadoop/hbase/master/HMaster.java| 4 ++-- .../org/apache/hadoop/hbase/util/HBaseFsck.java| 13 ++-- .../org/apache/hadoop/hbase/util/RegionMover.java | 4 ++-- .../AbstractTestAsyncTableRegionReplicasRead.java | 5 +++-- .../hadoop/hbase/client/TestAsyncAdminBase.java| 5 +++-- .../hadoop/hbase/client/TestAsyncAdminBuilder.java | 5 +++-- .../hbase/client/TestAsyncClusterAdminApi2.java| 5 +++-- .../hbase/client/TestAsyncMetaRegionLocator.java | 5 +++-- .../client/TestAsyncNonMetaRegionLocator.java | 5 +++-- ...stAsyncNonMetaRegionLocatorConcurrenyLimit.java | 5 +++-- .../hbase/client/TestAsyncRegionLocator.java | 5 +++-- .../TestAsyncSingleRequestRpcRetryingCaller.java | 5 +++-- .../apache/hadoop/hbase/client/TestAsyncTable.java | 5 +++-- .../TestAsyncTableLocateRegionForDeletedTable.java | 5 +++-- .../hbase/client/TestAsyncTableNoncedRetry.java| 5 +++-- .../hbase/client/TestAsyncTableScanMetrics.java| 5 +++-- ...estCatalogReplicaLoadBalanceSimpleSelector.java | 6 -- .../hbase/client/TestMetaRegionLocationCache.java | 5 +++-- .../hbase/client/TestZKConnectionRegistry.java | 5 +++-- .../TestMasterOperationsForRegionReplicas.java | 4 ++-- .../regionserver/TestEndToEndSplitTransaction.java | 24 +++--- .../TestSplitTransactionOnCluster.java | 4 ++-- .../hbase/replication/TestReplicationBase.java | 12 ++- .../replication/TestReplicationSyncUpToolBase.java | 13 +++- .../TestSerialReplicationEndpoint.java | 5 ++--- pom.xml| 2 +- 31 files changed, 113 insertions(+), 90 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java index 83beaf1..1dbb7e6 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java @@ -212,9 +212,10 @@ class AsyncConnectionImpl implements AsyncConnection { if(LOG.isDebugEnabled()){ logCallStack(Thread.currentThread().getStackTrace()); } -IOUtils.closeQuietly(clusterStatusListener); -IOUtils.closeQuietly(rpcClient); -IOUtils.closeQuietly(registry); +IOUtils.closeQuietly(clusterStatusListener, + e -> LOG.warn("failed to close clusterStatusListener", e)); +IOUtils.closeQuietly(rpcClient, e -> LOG.warn("failed to close rpcClient", e)); +IOUtils.closeQuietly(registry, e -> LOG.warn("failed to close registry", e)); if (choreService != null) { choreService.shutdown(); } diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java index b773ee8..fdbdbc6 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java @@ -111,7 +111,7 @@ public class AsyncClientExample extends Configured implements Tool { CompletableFuture closeFuture = new CompletableFuture<>(); addListener(f, (conn, error) -> { if (error == null) { -IOUtils.closeQuietly(conn); +IOUtils.closeQuietly(conn, e -> LOG.warn("failed to close conn", e)); } closeFuture.complete(null); }); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java index d83a9d9..5bbc525 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/FSDataInputStreamWrapper.java @@ -21,8 +21,6 @@ import java.io.Closeable; import java.io.IOException; import java.io.InputStream; import