We have the current compatibility promise that we will build with Java 7 so folks using a Java 7 JRE can consume and deploy them.
If we will be assuming Java 8 runtimes predominate, then we can build with Java 8. On Tue, Dec 4, 2018 at 4:15 PM Sean Busbey <bus...@apache.org> wrote: > What about installing Phoenix coprocessors built with Java 8 into a Java 8 > runtime that's running the currently built for jdk7 HBase? Shouldn't that > work fine? > > On Tue, Dec 4, 2018, 16:16 Andrew Purtell <apurt...@apache.org wrote: > > > I thought only the Avatica module aka PQS must be compiled using Java 8? > > Maybe you can script a Phoenix build that uses the Java 7 compiler for > the > > coprocessor modules and a Java 8 compiler only for the PQS? > > > > Otherwise, if all Phoenix modules including the coprocessor code are > > compiled with Java 8, then HBase must also be compiled with Java 8. If > you > > attempt to install Phoenix coprocessors compiled with Java 8 into a Java > > 7 + HBase runtime then you will see fatal runtime errors related to > linkage > > errors in the concurrent data types. > > > > > > On Tue, Dec 4, 2018 at 1:54 PM Josh Elser <els...@apache.org> wrote: > > > > > On 12/4/18 3:28 PM, Sean Busbey wrote: > > > > On Tue, Dec 4, 2018 at 2:14 PM Josh Elser <els...@apache.org> wrote: > > > >> > > > >> Phoenix depends on Avatica for its Phoenix Query Server. Avatica > > > >> requires Java8. Thus, the impasse. > > > >> > > > > > > > > Generally our maintaining JDK7 support shouldn't limit the ability of > > > > any downstream user to require a newer JDK. Is there some context I'm > > > > missing? Are they manually recompiling some part of our codebase that > > > > doesn't work with JDK8? Or do they not want to have folks complaining > > > > to them for requiring a JDK update that we don't require? > > > > > > Phoenix isn't doing anything exceptional. > > > > > > I'm struggling to find the Phoenix thread where Andrew P suggested that > > > I start this discussion in HBase. I don't remember if Phoenix is using > > > JDK7 purely to build solely because HBase does, or if there is a > > > technical reason that this is required. I'll have to keep looking. > > > > > > >> I'd pose the question: are we really doing our users a service for > > > >> continuing to allow them to use Java7? Not trying to be contentious > in > > > >> asking that -- I am just (happily) seeing fewer and fewer folks > still > > on > > > >> Java7. > > > > > > > > Yes. Making it so downstream folks don't have to worry about certain > > > > categories of changes is the entire advantage of us declaring > backward > > > > compatibility promises at all. JDK changes are a big deal in any > > > > deployment. > > > > > > > > As a project we already have a path forward for no longer worrying > > > > about maintaining Java 7 support; it's Apache HBase 2+. Providing > > > > advantages for that move and reducing the risk of updating to it is a > > > > straight forward way to remove our limitation on JDK features. IMHO, > > > > making it riskier to upgrade to newer 1.y minor versions is an > > > > undesirable way to drive that change. > > > > > > I disagree with you on this point but that is fine. > > > > > > > > > -- > > Best regards, > > Andrew > > > > Words like orphans lost among the crosstalk, meaning torn from truth's > > decrepit hands > > - A23, Crosstalk > > > -- Best regards, Andrew Words like orphans lost among the crosstalk, meaning torn from truth's decrepit hands - A23, Crosstalk