You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by re...@apache.org on 2019/08/18 02:30:44 UTC

[hbase] branch branch-2 updated: HBASE-22870 reflection fails to access a private nested class

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

reidchan 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 29ed415  HBASE-22870 reflection fails to access a private nested class
29ed415 is described below

commit 29ed4157b30d9720337d576ad48c28e9d1c47114
Author: satanson <ra...@gmail.com>
AuthorDate: Sun Aug 18 09:47:06 2019 +0800

    HBASE-22870 reflection fails to access a private nested class
    
    Signed-off-by Reid Chan <re...@apache.org>
---
 .../java/org/apache/hadoop/hbase/regionserver/HRegionServer.java    | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index c4fd11c..604cf11 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -2480,9 +2480,11 @@ public class HRegionServer extends HasThread implements
       this.abortMonitor = new Timer("Abort regionserver monitor", true);
       TimerTask abortTimeoutTask = null;
       try {
-        abortTimeoutTask =
+        Constructor<? extends TimerTask> timerTaskCtor =
           Class.forName(conf.get(ABORT_TIMEOUT_TASK, SystemExitWhenAbortTimeout.class.getName()))
-            .asSubclass(TimerTask.class).getDeclaredConstructor().newInstance();
+            .asSubclass(TimerTask.class).getDeclaredConstructor();
+        timerTaskCtor.setAccessible(true);
+        abortTimeoutTask = timerTaskCtor.newInstance();
       } catch (Exception e) {
         LOG.warn("Initialize abort timeout task failed", e);
       }