The problem that leads us to consider '--release 8', or what it would promise if it worked, isn't Unsafe, it is ByteBuffer. https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/ . Although to your point Netty has ByteBuf...
On Sun, Feb 20, 2022 at 5:23 AM 张铎(Duo Zhang) <palomino...@gmail.com> wrote: > 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 > >> > > > > > >> > > > > >> > > > >> > > >> > > > -- Best regards, Andrew Unrest, ignorance distilled, nihilistic imbeciles - It's what we’ve earned Welcome, apocalypse, what’s taken you so long? Bring us the fitting end that we’ve been counting on - A23, Welcome, Apocalypse