Since we have shaded netty, I think we could make use of netty's PlatformDependent[1] class to avoid referencing Unsafe directly, then there will be no problem for us to use the '--release 8' option.
If no big concerns, I will file an issue to remove all the sun.misc.Unsafe references in our code base and make use of PlatformDependent from the shaded netty. Thanks. 1. https://github.com/netty/netty/blob/4.1/common/src/main/java/io/netty/util/internal/PlatformDependent.java 张铎(Duo Zhang) <palomino...@gmail.com> 于2022年2月16日周三 14:12写道: > I think this could be done by some module tricks, where we build a special > module with -source 8 and -target 8.We have done similar things in the past > to have hadoop1-compat and hadoop2-compact. > > Let me have a try. > > Sean Busbey <bus...@apache.org> 于2022年2月16日周三 13:31写道: > >> Unfortunately if we want to keep jdk8 working we can't rely on building >> with the jdk release target option on newer jdks. >> >> We ran into this recently in HBASE-25465 where a JDK bug came up. >> >> On Tue, Feb 15, 2022 at 8:12 PM 张铎(Duo Zhang) <palomino...@gmail.com> >> wrote: >> >> > +1 on moving the minimum required java version for compiling HBase to >> Java >> > 11. But we could still use --release=8 to still support jdk8 at runtime. >> > >> > Java 8 is still widely used, and I believe this will last for even more >> > years, as lots of big companies such as RedHat, Microsoft and Amazon are >> > still shipping new jdk8 releases, I do not think it is time to fully >> drop >> > the support of jdk8. >> > >> > Thanks. >> > >> > Sean Busbey <bus...@apache.org> 于2022年2月16日周三 09:57写道: >> > >> > > If we set the minJDK to 11 I believe that will effectively remove jdk8 >> > > support, rather than "just" deprecate it. >> > > >> > > As we build out more robust testing I would be in favor of running >> less >> > of >> > > it on deprecated JDKs. >> > > >> > > >> > > On Tue, Feb 15, 2022, 16:10 Josh Elser <els...@apache.org> wrote: >> > > >> > > > Deprecating jdk8 for HBase 3 and requiring minJdk=11 seems >> reasonable >> > to >> > > > me. >> > > > >> > > > Gotta start pushing the issue somehow. >> > > > >> > > > On 2/15/22 1:47 PM, Sean Busbey wrote: >> > > > > Hi folks! >> > > > > >> > > > > It's been some time since we decided to stick to LTS JDK releases >> as >> > a >> > > > way >> > > > > of getting a handle on the JDK treadmill. >> > > > > >> > > > > What do folks think about deprecating JDK8? The openjdk8u project >> is >> > > > still >> > > > > going and there are commercial support options at least through >> 2030. >> > > > > >> > > > > Deprecating it in HBase 3 would mean we could remove it in HBase >> 4, >> > not >> > > > > that we would _have_ to remove it. The way I think about likely >> > timing >> > > of >> > > > > these events goes like this: >> > > > > >> > > > > * HBase 2 started alphas in June 2017, betas in January 2018, and >> > came >> > > > out >> > > > > in April 2018 >> > > > > * HBase 3 started alphas in July 2021, and as of Feb 2022 we >> haven't >> > > > > discussed how close we are to our stated beta goals (upgrades from >> > > active >> > > > > 2.x releases and removal of not-ready features). >> > > > > >> > > > > Given the above, in the absence of us specifically pushing to roll >> > > > through >> > > > > major version numbers for some reason, I think a reasonably >> > > conservative >> > > > > estimate is for HBase 3 to arrive in late 2022 or early 2023 and >> then >> > > > HBase >> > > > > 4 to start alphas in ~2025. An HBase 5 prior to 2030 seems >> unlikely. >> > > > > >> > > > > That all said, our current reference guide section on java >> versions >> > > does >> > > > > not sound very confident about JDK11 support. >> > > > > >> > > > >> A Note on JDK11 * >> > > > >> Preliminary support for JDK11 is introduced with HBase 2.3.0. >> This >> > > > > support is limited to >> > > > >> compilation and running the full test suite. There are open >> > questions >> > > > > regarding the runtime >> > > > >> compatibility of JDK11 with Apache ZooKeeper and Apache Hadoop >> > > > > (HADOOP-15338). >> > > > >> Significantly, neither project has yet released a version with >> > > explicit >> > > > > runtime support for >> > > > >> JDK11. The remaining known issues in HBase are catalogued in >> > > > HBASE-22972. >> > > > >> >> > > > > >> > > > > Since that blurb was written, Hadoop has added JDK11 support [1] >> as >> > has >> > > > > ZooKeeper[2]. As a part of buttoning up our JDK11 support we could >> > > update >> > > > > our minimum supported versions of these projects to match that >> > support. >> > > > > >> > > > > What do folks think? >> > > > > >> > > > > [1]: https://hadoop.apache.org/docs/r3.3.0/index.html >> > > > > [2]: >> > > > > >> > > >> https://zookeeper.apache.org/doc/r3.6.0/zookeeperAdmin.html#sc_systemReq >> > > > > >> > > > >> > > >> > >> >