Apache9 commented on PR #6655:
URL: https://github.com/apache/hbase/pull/6655#issuecomment-2630513426

   > My recollection was that not just the Unsafe is an issue. There was a bug 
in javac such that it would still produce opcodes that were not compatible with 
JDK8, even when the compiler target/release was set. Maybe the JDK devs finally 
acknowledged and fixed the bug?
   > 
   > I haven't tried it recently so I'd be happy to stand corrected.
   
   Use `target` only means generating bytecode with the given version, but it 
will still use the symbols of the JDK version which is used to compile the 
code, so there could still be incompatible issues, like the byte buffer problem 
provided above by @stoty .
   
   Use `release` not only means generating bytecode for the given version, it 
will also use the symbols of the JDK version for keeping compatible.
   
   The JDK bug in HBASE-26773 is for sun.misc.Unsafe, the JDK team does not 
want to expose this module at compile time, so it will lead to a compile error 
if you use these symbols, but it will not introduce any compatible issue at 
runtime.
   
   This is my understanding.
   
   Thanks. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to