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)