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]
