[
https://issues.apache.org/jira/browse/HBASE-22870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Reid Chan updated HBASE-22870:
------------------------------
Fix Version/s: (was: 2.2.2)
2.2.1
> reflection fails to access a private nested class
> -------------------------------------------------
>
> Key: HBASE-22870
> URL: https://issues.apache.org/jira/browse/HBASE-22870
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 2.1.5
> Reporter: ranpanfeng
> Priority: Major
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> HMaster crashes at
> org/apache/hadoop/hbase/regionserver/HRegionServer.java:1044
> *A private static nested class can not be instantiated via reflection.*
> *code snippet*
>
> {code:java}
>
> try {
> abortTimeoutTask =
> Class.forName(conf.get(ABORT_TIMEOUT_TASK,
> SystemExitWhenAbortTimeout.class.getName()))
> .asSubclass(TimerTask.class).getDeclaredConstructor().newInstance();
> } catch (Exception e) {
> LOG.warn("Initialize abort timeout task failed", e);
> }{code}
>
>
> *log in product environtment*
> {code:java}
> 2019-08-16 18:01:40,737 [WARN ] HRegionServer:1046 Initialize abort timeout
> task failed
> java.lang.IllegalAccessException: Class
> org.apache.hadoop.hbase.regionserver.HRegionServer can not access a member of
> class org.apache.hadoop.hbase.regionss
> erver.HRegionServer$SystemExitWhenAbortTimeout with modifiers "private"
> at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:102)
> at
> java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:296)
> at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:288)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:413)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:1044)
> at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:598){code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)