[ 
https://issues.apache.org/jira/browse/HBASE-21110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16594219#comment-16594219
 ] 

Andrew Purtell commented on HBASE-21110:
----------------------------------------

When is Unsafe supposed to go away? Or is it? I think Java wants to drop it, 
but push back given extensive use of it is holding back the change via public 
pressure. Not sure what is the latest status. 

I believe VarHandles are the blessed replacement for Unsafe access, but 
VarHandles cannot be naively added to a code base that has to still support 
Java 7 and up, like Hadoop 2.x, HBase 1.x, others. We might be able to move 
Unsafe access behind an interface with Java version specific implementations in 
separate Maven modules, but somehow this abstraction cannot itself cause a loss 
of performance. It might be ok, as long as whatever we do still results in 
inlining of the Unsafe intrinsics on the older JVMs.

> Issues with Unsafe and JDK 11
> -----------------------------
>
>                 Key: HBASE-21110
>                 URL: https://issues.apache.org/jira/browse/HBASE-21110
>             Project: HBase
>          Issue Type: Task
>            Reporter: Mike Drob
>            Priority: Major
>             Fix For: 3.0.0
>
>
> Using Java 11 RC 1, I get the following warning, probably need to add the 
> suggested flag to our scripts?
> {noformat}
> mdrob@mdrob-MBP:~/IdeaProjects/hbase$ java -version
> java version "11" 2018-09-25
> Java(TM) SE Runtime Environment 18.9 (build 11+28)
> Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
> mdrob@mdrob-MBP:~/IdeaProjects/hbase$ bin/start-hbase.sh
> mdrob@mdrob-MBP:~/IdeaProjects/hbase$ cat 
> /Users/mdrob/IdeaProjects/hbase/bin/../logs/hbase-mdrob-master-mdrob-MBP.local.out
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by 
> org.apache.hadoop.hbase.util.UnsafeAvailChecker 
> (file:/Users/mdrob/IdeaProjects/hbase/hbase-common/target/hbase-common-3.0.0-SNAPSHOT.jar)
>  to method java.nio.Bits.unaligned()
> WARNING: Please consider reporting this to the maintainers of 
> org.apache.hadoop.hbase.util.UnsafeAvailChecker
> WARNING: Use --illegal-access=warn to enable warnings of further illegal 
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to