You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Yutong Xiao (Jira)" <ji...@apache.org> on 2021/11/21 11:57:00 UTC
[jira] [Updated] (HBASE-26477) Fix MiniMapReduceCluster failure under Java17
[ https://issues.apache.org/jira/browse/HBASE-26477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yutong Xiao updated HBASE-26477:
--------------------------------
Description:
MiniMapReduceCluster in HBaseTestingUtil.java will not work. Find the error message in the container log:
{code:java}
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @755c9148
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[?:?]
at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[?:?]
at java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) ~[?:?]
at java.lang.reflect.Method.setAccessible(Method.java:193) ~[?:?]
at com.google.inject.internal.cglib.core.$ReflectUtils$2.run(ReflectUtils.java:56) ~[guice-4.0.jar:?]
at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:46) ~[guice-4.0.jar:?]
{code}
The reason is Java17 needs manually open java.lang.
> Fix MiniMapReduceCluster failure under Java17
> ---------------------------------------------
>
> Key: HBASE-26477
> URL: https://issues.apache.org/jira/browse/HBASE-26477
> Project: HBase
> Issue Type: Task
> Reporter: Yutong Xiao
> Assignee: Yutong Xiao
> Priority: Major
>
> MiniMapReduceCluster in HBaseTestingUtil.java will not work. Find the error message in the container log:
> {code:java}
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @755c9148
> at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[?:?]
> at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[?:?]
> at java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) ~[?:?]
> at java.lang.reflect.Method.setAccessible(Method.java:193) ~[?:?]
> at com.google.inject.internal.cglib.core.$ReflectUtils$2.run(ReflectUtils.java:56) ~[guice-4.0.jar:?]
> at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
> at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:46) ~[guice-4.0.jar:?]
> {code}
> The reason is Java17 needs manually open java.lang.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)