Okay, let’s stay on JDK 8 with 3.7.0 release and do the transition in 4.0. Not sure if we want 3.8 release or make the master 4.0 from now on.
Andor > On 2021. Jan 6., at 22:35, Christopher <ctubb...@apache.org> wrote: > > I agree with Enrico on this point. If the ZK PMC is considering a 3.7 > release, now would not be the right time to make this change, and it would > be better to make a change at the beginning of the next iteration. > > That said, I think switching to builds with JDK 11 and supporting JDK 8 > "passively" is the right thing to do for 3.8, and switching to JDK 11 fully > would be the right thing to do if the PMC decides to do a major version > bump to 4.0 instead of a 3.8. > > On Wed, Jan 6, 2021 at 1:20 PM Enrico Olivelli <eolive...@gmail.com> wrote: > >> In my opinion we can stay on 8, we should change this kind of stuff at the >> beginning of a new iteration and not before the release. >> IIRC We are not in a hurry, having a stable build process is a value. >> >> Enrico >> >> Il Mer 6 Gen 2021, 17:51 Damien Diederen <ddiede...@apache.org> ha >> scritto: >> >>> >>> Dear ZooKeeper team, >>> >>> Andor just reminded me of this JDK 11 vs. 8 discussion, for which we did >>> not reach a resolution. Do we want to make a move for the 3.7.0 release? >>> >>> The original proposal, by Christopher, can be found here: >>> >>> >>> >> https://mail-archives.apache.org/mod_mbox/zookeeper-dev/202010.mbox/%3ccal5zq9z2tnfawjz7etxpf91qmrovuwv+khnxgpsd_msekfp...@mail.gmail.com%3e >>> >>> I am explicitly replying to Christopher's nice and useful summary, which >>> you will find directly below. An archived copy can be found here: >>> >>> >>> >> https://mail-archives.apache.org/mod_mbox/zookeeper-dev/202010.mbox/%3cCAL5zq9ao9-4S9bmzxaYJM8n8=aolxidz-0zohunvnayqei0...@mail.gmail.com%3e >>> >>> It contains three proposals, to which we can add the trivial one: >>> >>> 1. Compile/test with JDK 11, support JDK 8 "passively"; >>> >>> 2. Compile/test with JDK 11, test client only with JDK 8 (requires test >>> suite adaptations); >>> >>> 3. Move to JDK 11 fully; >>> >>> 4. Postpone any change to 3.8 (or 4.0). >>> >>> Flavio wrote: >>> >>>> [Christopher] mentioned a PMC vote, and I don't think this should be a >>>> closed vote, independent of how the conversation goes. >>> >>> Do we have a better idea of what we want? Or should we organize a vote? >>> >>> Cheers, -D >>> >>> >>> --8<--------------- original message ------------->8--- >>> >>> Christopher <ctubb...@apache.org> writes: >>>> I'm happy that this discussion has been so lively! I just want to >>>> emphasize a few things: >>>> >>>> I really do understand the desire to continue to support Java 8... I >>>> get it. But all the conversations around this seem based on what >>>> people are doing *today*. But, ZK 3.7 is *tomorrow's* version... a >>>> *future* release... so it should be based more on reasonable >>>> expectations for users in the future, and less based on what is >>>> happening today. I suspect *most* people today are still using 3.4 >>>> anyway (it was just so stable for so long...), but that shouldn't mean >>>> the developers should hold back development on 3.5 and 3.6, any more >>>> than today's users of 3.5/3.6 should hold back 3.7. >>>> >>>> Some of the opinions expressed in this discussion seem to propose a >>>> scenario where users are going to be updating to "bleeding edge" >>>> versions of ZooKeeper, but are going to insist on using Java 8. >>>> Personally, I find this to be implausible. In my experience, people >>>> either upgrade everything as soon as they are able to, or they upgrade >>>> each thing individually, only when they are forced to. The first group >>>> will be happy to move to Java 11 and ZK 3.7. The second group will >>>> probably avoid 3.7 anyway, and are fine sticking with 3.6, but if they >>>> had to update to 3.7, they'd also be fine updating to Java 11 if they >>>> had to in order to use 3.7. I can't imagine the scenario where people >>>> are eagerly choosing to upgrade to ZK 3.7, but miserly insisting on >>>> using Java 8. Perhaps that scenario exists, but it's hard for me to >>>> imagine. Even so, my proposal would still support even that group of >>>> people. >>>> >>>> I think there are now effectively three proposals being discussed in >>>> this thread: >>>> >>>> 1. (Christopher's original proposal) passively support Java 8 at >>>> runtime by making JDK 11 the minimum requirement to build and test. >>>> This scenario involves continuing to fix bugs, as they are discovered >>>> and reported, that affect JDK 8, but passively, rather than >>>> proactively. This proposal does *not* drop Java 8 support, but merely >>>> de-emphasizes it in development of what will be 3.7 in the future, and >>>> drops the requirement to do dedicated testing with Java 8. I think >>>> this is low risk, because it is very unlikely that the ZK devs would >>>> introduce a bug that would affect only Java 8 and the compiler >>>> wouldn't catch it... because the cross-compilation features of newer >>>> JDKs are really good. >>>> >>>> 2. (Enrico's alternate proposal) this variation of my proposal would >>>> involve continuing to proactively support Java 8 by creating a >>>> dedicated testing suite to test client code on Java 8. I think this is >>>> a good option, but since it involves a significantly higher amount of >>>> work than option 1, I think the cost-benefit analysis would show this >>>> to be not worth the effort. Also, if it were implemented, it would >>>> need to be done carefully to avoid requiring developers to have >>>> concurrently installed both Java 8 and Java 11 in order to perform a >>>> build, because requiring Java 8 at build time while developing would >>>> be worse than we have today. >>>> >>>> 3. (Andor's preference) move to JDK 11 fully. This would provide no >>>> support, passive or active, for Java 8 in ZK 3.7. To be honest, this >>>> is my personal favorite, and is the simplest to implement and >>>> communicate clearly to end users in release notes. The only reason I >>>> proposed a passive support of Java 8 instead of this is because I was >>>> trying to seek a compromise from the start. But, I think by far, this >>>> is the best option for the next *future* release of ZK. If you wanted >>>> to make the change even more visible to users, the version could even >>>> be bumped to 4.0. >>>> >>>> If this were to come to a VOTE by the PMC, in order to make a final >>>> decision, I would recommend they vote on option 3, and then if that >>>> fails, vote on option 1, and if that fails, keep things the way they >>>> are (because option 2 is more work). >>>> >>>> Christopher >>>> >>>> P.S. as for Hadoop on Java 11... I've been running Hadoop 3 on JDK 11 >>>> and it works just fine there (as long as you add the missing runtime >>>> jar for javax.activation:javax.activation-api:1.2.0 to its class path, >>>> but that was fixed in Hadoop 3.3). >>>> >>>> On Wed, Oct 21, 2020 at 5:42 PM Tamas Penzes >>>> <tam...@cloudera.com.invalid> wrote: >>>>> >>>>> Hi All, >>>>> >>>>> I've just talked with a Hadoop/HDFS developer who told me what I >>> guessed. >>>>> With Hadoop3 they have just dropped JDK7 support, dropping JDK8 would >>> mean >>>>> a release of Hadoop4. >>>>> Since HADOOP-15338 is finished, they test with JDK8 and JDK11 both. As >>> of >>>>> today most of the Hadoop users are still on Hadoop2, he doesn't expect >>>>> Hadoop4 soon. >>>>> As many Apache components depend on Hadoop and ZooKeeper they won't >>> hurry >>>>> to JDK11 until they have to (they will probably go one-by-one very >>> slowly), >>>>> which means if Hadoop stays on JDK8, they would use the last ZK >> version >>>>> which works on JDK8. >>>>> Do we want a ZK 3.4 again? >>>>> >>>>> Regards, Tamaas >>>>> >>>>> >>>>> On Wed, Oct 21, 2020 at 11:23 PM Tamas Penzes <tam...@cloudera.com> >>> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> Just to add my two cents. >>>>>> >>>>>> Upgrading to JDK11 looks inevitable sooner or later and I would >>> definitely >>>>>> not wait until 2030 or 2026 when the extended support of JDK8 ends. >>>>>> But on the other side I have to agree with Enrico and Patrick that >>> far too >>>>>> many users are tied to JDK8 yet (not because they want to use JDK8, >>> but >>>>>> because they have to), some of them are components of the Hadoop >>> ecosystem, >>>>>> which would be a loss to tie them to 3.6.x for years. >>>>>> Do we know the state of Hadoop? It builds with JDK8 at the moment, >>> but do >>>>>> we know what are their plans to go to JDK11? >>>>>> When they move, we should move too, but I don't think it would be >>> wise to >>>>>> do it earlier. >>>>>> >>>>>> Christopher's option looks like the golden path, but it needs some >>>>>> investment on the testing side as Enrico pointed it out. >>>>>> Could we agree on it as a compromise? >>>>>> >>>>>> Regards, Tamaas >>>>>> >>>>>> On Wed, Oct 21, 2020 at 7:11 PM Brent <brentwritesc...@gmail.com> >>> wrote: >>>>>> >>>>>>> I think I was reacting to Enrico's earlier comment of: >>>>>>> >>>>>>> " ZooKeeper client is used by tons of users and unfortunately many >>>>>>> projects >>>>>>> are still on JDK8, if we move ZooKeeper to JDK11 the risk is to >> block >>>>>>> users >>>>>>> from the adoption, that is that we will see the world to stay on >>> 3.6.x and >>>>>>> we will have again a long lived release line, like 3.4." >>>>>>> >>>>>>> It's a matter of whether or not a long-lived release line is >>>>>>> desirable/undesirable. If everyone is OK keeping 3.6.x up-to-date >>>>>>> security/patch-wise (if not feature-wise) for the next N years, >> then >>>>>>> that's >>>>>>> a potentially valid approach. I interpreted that comment as "a >>> long-lived >>>>>>> release line is undesirable", but no one explicitly said that, I >>> just read >>>>>>> it that way. >>>>>>> >>>>>>> ~Brent >>>>>>> >>>>>>> On Wed, Oct 21, 2020 at 9:49 AM Patrick Hunt <ph...@apache.org> >>> wrote: >>>>>>> >>>>>>>> On Wed, Oct 21, 2020 at 9:03 AM Andor Molnar <an...@apache.org> >>> wrote: >>>>>>>> >>>>>>>>> As far as I know Hbase, Solr and Kafka are already Java 11 >> ready. >>>>>>>>> >>>>>>>>> IMHO contributors of those projects should also put efforts >> into >>>>>>> moving >>>>>>>>> forward. >>>>>>>>> >>>>>>>>> We’re not saying that you _have_ to move to Java 11. >>>>>>>>> Staying on Java 8? No problem, 3.6 is for you. >>>>>>>>> Want the fancy new features of 3.7? Work on it on your side >> too. >>>>>>>>> >>>>>>>>> >>>>>>>> ppl want things like security fixes. I believe the highlighted >>> downside >>>>>>> is >>>>>>>> that we would need to continue to maintain 3.6.x rather than >>> allowing >>>>>>>> users, and ourselves, to focus on trunk for production -"64 >>> percent" >>>>>>> would >>>>>>>> be blocked. >>>>>>>> >>>>>>>> Patrick >>>>>>>> >>>>>>>> >>>>>>>>> Andor >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> On 2020. Oct 21., at 17:52, Enrico Olivelli < >>> eolive...@gmail.com> >>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> Il giorno mer 21 ott 2020 alle ore 17:49 Andor Molnar < >>>>>>>> an...@apache.org> >>>>>>>>> ha >>>>>>>>>> scritto: >>>>>>>>>> >>>>>>>>>>> Correct me if I'm wrong, but Oracle gets paid for extended >>> support. >>>>>>>>>>> Java 8 support until 2030 is not free of charge. >>>>>>>>>>> >>>>>>>>>>> "ZK may end up with a lot of users potentially locking >>> themselves >>>>>>> to >>>>>>>>>>> 3.6.x for a while as Enrico mentioned." >>>>>>>>>>> >>>>>>>>>>> That's true. What's the downside of that which we should >>> invest in >>>>>>> to >>>>>>>>>>> avoid? >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I see ZooKeeper used in many many projects, all of the >>>>>>>>>> HBase/Pulsar/Kafka/Solr ecosystem... >>>>>>>>>> they will have to move to JDK11 in order to move to the new >> ZK >>>>>>> version >>>>>>>>>> so probably they will stay on ZK 3.6 >>>>>>>>>> >>>>>>>>>> Probably with Java 17 LTS released the cards will change on >> the >>>>>>> table >>>>>>>>>> >>>>>>>>>> Enrico >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Andor >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, 2020-10-21 at 08:03 -0700, Brent wrote: >>>>>>>>>>>> As a slightly different consideration, if you look at the >>>>>>> Long-Term >>>>>>>>>>>> Support >>>>>>>>>>>> (LTS) roadmaps for Java, currently Java 8 is set to have >> full >>>>>>> support >>>>>>>>>>>> until >>>>>>>>>>>> 2030 from Oracle and at least 2026 from OpenJDK & Corretto: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>> >>> https://www.oracle.com/java/technologies/java-se-support-roadmap.html >>>>>>>>>>>> https://en.wikipedia.org/wiki/Java_version_history >>>>>>>>>>>> >>>>>>>>>>>> My guess is that a number of companies are still heavily >>> invested >>>>>>> at >>>>>>>>>>>> the >>>>>>>>>>>> Java 8 level (I know a few) and with that kind of time >>> horizon, >>>>>>> they >>>>>>>>>>>> have >>>>>>>>>>>> no real motivation to upgrade for quite a while. If the >>> recent >>>>>>>>>>>> Python 2 >>>>>>>>>>>> deprecation is anything to go by, they won't do it until >>> they have >>>>>>>>>>>> to. >>>>>>>>>>>> >>>>>>>>>>>> Not saying Java 8 isn't *very* old (2014 release it seems >>> like?) >>>>>>> and >>>>>>>>>>>> I'm >>>>>>>>>>>> not invested heavily either way, but this might suggest >> that >>> ZK >>>>>>> may >>>>>>>>>>>> end up >>>>>>>>>>>> with a lot of users potentially locking themselves to 3.6.x >>> for a >>>>>>>>>>>> while as >>>>>>>>>>>> Enrico mentioned. >>>>>>>>>>>> >>>>>>>>>>>> (Not a major contributor, but wanted to chime in since I >>> just had >>>>>>>>>>>> this >>>>>>>>>>>> conversation with a bunch of people professionally >> recently) >>>>>>>>>>>> >>>>>>>>>>>> Brent >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Oct 21, 2020 at 2:07 AM Andor Molnar < >>> an...@apache.org> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Thanks for the summary. >>>>>>>>>>>>> >>>>>>>>>>>>> I still vote for option 1). Move 3.7.0 to JDK 11 fully. >>> Other >>>>>>>>>>>>> projects >>>>>>>>>>>>> will upgrade once they’re JDK11 compliant, otherwise they >>> will >>>>>>> stay >>>>>>>>>>>>> on 3.5 >>>>>>>>>>>>> or 3.6. Both version are quite recent in ZooKeeper-terms, >> we >>>>>>>>>>>>> already >>>>>>>>>>>>> planned big changes for 3.7.0 and JDK 11 could be one of >>> them. >>>>>>>>>>>>> >>>>>>>>>>>>> Don’t put extra burden on the ZK community to help others >>> staying >>>>>>>>>>>>> on >>>>>>>>>>>>> ancient Java versions. >>>>>>>>>>>>> >>>>>>>>>>>>> Andor >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> On 2020. Oct 21., at 10:57, Enrico Olivelli < >>>>>>> eolive...@gmail.com> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Let me recap >>>>>>>>>>>>>> - Christopher is proposing to move to JDK11 >>>>>>>>>>>>>> - ZooKeeper client and server are bundled and coded and >>> tested >>>>>>>>>>>>>> together >>>>>>>>>>>>> in >>>>>>>>>>>>>> zookeeper-server >>>>>>>>>>>>>> - Enrico is concerned about the need of testing ZooKeeper >>> client >>>>>>>>>>>>>> on JDK8 >>>>>>>>>>>>>> (not a problem to move the server to JDK11) >>>>>>>>>>>>>> >>>>>>>>>>>>>> ZooKeeper client is used by tons of users and >>> unfortunately many >>>>>>>>>>>>>> projects >>>>>>>>>>>>>> are still on JDK8, if we move ZooKeeper to JDK11 the risk >>> is to >>>>>>>>>>>>>> block >>>>>>>>>>>>> users >>>>>>>>>>>>>> from the adoption, >>>>>>>>>>>>>> that is that we will see the world to stay on 3.6.x and >> we >>> will >>>>>>>>>>>>>> have >>>>>>>>>>>>> again >>>>>>>>>>>>>> a long lived release line, like 3.4. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Testing the client on JDK8 would be possible if we create >>> some >>>>>>>>>>>>>> kind of >>>>>>>>>>>>>> additional module with system tests, then we can start >> the >>>>>>> server >>>>>>>>>>>>>> on >>>>>>>>>>>>> docker >>>>>>>>>>>>>> on JDK11+ and start a client on JDK8 >>>>>>>>>>>>>> with Maven toolchain it should possible to run surefire >>> tests >>>>>>>>>>>>>> using a >>>>>>>>>>>>>> separate JVM. >>>>>>>>>>>>>> >>>>>>>>>>>>>> So in my vision 2 options: >>>>>>>>>>>>>> 1) fully JDK11 - drop JDK8 at all >>>>>>>>>>>>>> 2) build with JDK11 - server only on JDK11 - add system >>> tests >>>>>>>>>>>>>> with docker >>>>>>>>>>>>>> and toolchains that ensure the ZooKeeper client (and all >>>>>>>>>>>>>> dependencies) >>>>>>>>>>>>>> still work on JDK8 >>>>>>>>>>>>>> >>>>>>>>>>>>>> From my point of view about the ZooKeeper ecosystem >> option >>> 2) >>>>>>>>>>>>>> will be far >>>>>>>>>>>>>> better, but we need resources to work on a new test >> suite. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Enrico >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Il giorno mer 21 ott 2020 alle ore 10:43 Andor Molnar < >>>>>>>>>>>>>> an...@apache.org> >>>>>>>>>>>>> ha >>>>>>>>>>>>>> scritto: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Tamas, Enrico, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Sorry I don’t follow. Why do we have to test the client >>> with >>>>>>>>>>>>>>> JDK 8 in >>>>>>>>>>>>>>> version 3.7.0? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Andor >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 2020. Oct 20., at 22:29, Tamas Penzes < >>>>>>>>>>>>>>>> tam...@cloudera.com.INVALID> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> Hi Enrico, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Separating ZooKeeper client and server is a huge work, >>> but we >>>>>>>>>>>>>>>> might not >>>>>>>>>>>>>>>> need it. >>>>>>>>>>>>>>>> As you mentioned we have to test ZK client with Java 8, >>> what >>>>>>>>>>>>>>>> about >>>>>>>>>>>>>>>> separating only the test cases which we need to run >> with >>>>>>>>>>>>>>>> Java8 too? >>>>>>>>>>>>>>>> In Curator we have the ZK compatibility tests where we >>> run a >>>>>>>>>>>>>>>> limited >>>>>>>>>>>>>>> amount >>>>>>>>>>>>>>>> of Curator's jUnit tests with a different ZK version. >>>>>>>>>>>>>>>> We might be able to do the same here, tag tests which >> are >>>>>>>>>>>>>>>> testing ZK >>>>>>>>>>>>>>> client >>>>>>>>>>>>>>>> and run them separately with Java 8. The only >> limitation >>> is >>>>>>>>>>>>>>>> that these >>>>>>>>>>>>>>>> tests must stay JDK8 compatible. >>>>>>>>>>>>>>>> But from the tags we will see which ones are those. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> What do you think? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Regards, Tamaas >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Sat, Oct 17, 2020 at 7:45 AM Enrico Olivelli < >>>>>>>>>>>>>>>> eolive...@gmail.com> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> Christopher >>>>>>>>>>>>>>>>> I appreciate your idea and I also moved lots of my >>> projects >>>>>>>>>>>>>>>>> to work >>>>>>>>>>>>> the >>>>>>>>>>>>>>> way >>>>>>>>>>>>>>>>> you are suggesting. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> We must run tests using real jdk8 to test the >> Zookeeper >>>>>>>>>>>>>>>>> client. We >>>>>>>>>>>>> must >>>>>>>>>>>>>>>>> ensure that Zookeeper works well, especially while >>> dealing >>>>>>>>>>>>>>>>> with >>>>>>>>>>>>> security >>>>>>>>>>>>>>>>> stuff. >>>>>>>>>>>>>>>>> Currently the client is in the same module of the >> server >>>>>>>>>>>>>>>>> and it will >>>>>>>>>>>>>>> take a >>>>>>>>>>>>>>>>> good (huge) amount of work to separate them >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Enrico >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Il Ven 16 Ott 2020, 23:25 Christopher < >>> ctubb...@apache.org> >>>>>>>>>>>>>>>>> ha >>>>>>>>>>>>> scritto: >>>>>>>>>>>>>>>>>> Hi ZK Devs, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> With recent advancements in Java (since Java 9), it >> is >>>>>>>>>>>>>>>>>> now generally >>>>>>>>>>>>>>>>>> no longer necessary to require that software be >>> developed >>>>>>>>>>>>>>>>>> on an older >>>>>>>>>>>>>>>>>> JDK in order to have confidence that it will run on >> the >>>>>>>>>>>>>>>>>> older version >>>>>>>>>>>>>>>>>> of Java. This is because, as of Java 9, all JDK >>> releases >>>>>>>>>>>>>>>>>> have better >>>>>>>>>>>>>>>>>> support for cross-compilation to older Java versions. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> What this means is that developers can confidently >> make >>>>>>>>>>>>>>>>>> the build >>>>>>>>>>>>>>>>>> requirements for a project higher than the Java >> version >>>>>>>>>>>>>>>>>> that will >>>>>>>>>>>>>>>>>> actually be supported at runtime. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> In fact, ZooKeeper already supports the necessary >> flags >>>>>>>>>>>>>>>>>> in its Maven >>>>>>>>>>>>>>>>>> build configuration to ensure that it uses JDK 8 >>>>>>>>>>>>>>>>>> compliance when >>>>>>>>>>>>>>>>>> building on a newer JDK (I added this way back in >>>>>>>>>>>>>>>>>> ZOOKEEPER-3739 / >>>>>>>>>>>>>>>>>> https://github.com/apache/zookeeper/pull/1269) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> So, I propose that we make JDK 11 the new minimum >>> version >>>>>>>>>>>>>>>>>> to *build* >>>>>>>>>>>>>>>>>> ZooKeeper with. This would not change the runtime >>>>>>>>>>>>>>>>>> requirement, which >>>>>>>>>>>>>>>>>> would remain at JDK 8. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> The only necessary change to make this happen would >> be >>> to >>>>>>>>>>>>>>>>>> add the >>>>>>>>>>>>>>>>>> minimum Java version to the maven-enforcer-plugin >> (like >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>> >>> >> https://github.com/apache/accumulo/blob/438f0efd34ef9d200bc8c7ecdd11d5dedb146519/pom.xml#L1162-L1164 >>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> This would allow ZooKeeper to to streamline its >>>>>>>>>>>>>>>>>> development process a >>>>>>>>>>>>>>>>>> little bit by reducing the amount of CI testing that >> is >>>>>>>>>>>>>>>>>> done as part >>>>>>>>>>>>>>>>>> of the build. In other words, we can drop the CI >> builds >>>>>>>>>>>>>>>>>> for JDK 8, >>>>>>>>>>>>>>>>>> which saves on build resources and time. The return >> on >>>>>>>>>>>>>>>>>> investment is >>>>>>>>>>>>>>>>>> so low for the JDK 8 builds anyway, because of the >>>>>>>>>>>>>>>>>> improved >>>>>>>>>>>>>>>>>> cross-compilation in newer JDKs. So, there's not much >>>>>>>>>>>>>>>>>> value in >>>>>>>>>>>>>>>>>> building on JDK 8 anyway. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Of course, I am only recommending this for *new* >>> release >>>>>>>>>>>>>>>>>> lines, >>>>>>>>>>>>>>>>>> starting with ZooKeeper 3.7.0/master branch, because >> I >>>>>>>>>>>>>>>>>> would not want >>>>>>>>>>>>>>>>>> to change expectations for users who will build their >>> own >>>>>>>>>>>>>>>>>> 3.5 and 3.6 >>>>>>>>>>>>>>>>>> versions as they continue to have patch versions >>>>>>>>>>>>>>>>>> released. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> What do you think? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Kind Regards, >>>>>>>>>>>>>>>>>> Christopher >>>>>>>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>> >>