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 > > > > > > > > > >