git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Supporting multiple JDKs


C* 2.2
> I'm still left wondering why we want to use CI resources to find bugs
that the users will never encounter.
How would we be sure users will never encounter bugs unless we build
against that JDK? This is the reason I propose having a CircleCI build
against 1.7.

> If you take out "and optionally run UTs and Dtests against 1.7" from
workflow1 then I'm fine with it.
I don't think it hurts to have workflows that "can" do UTs and DTests
against 1.7. We can run them only when we make a release.
> The time it takes for tests to run is a headache, so to have to run
dtests four times over makes me grimace.
It takes only about 25min with default 4x parallelism to run unit tests in
CircleCI.


4.0
> Currently afaik we can't build the artifacts against only either JDK8 or
JDK11, hence the hybrid JDK setup.
We definitely can build against JDK 8 alone, however from the thread you
linked and from 9608, we wanted to do a stable release that uses JDK8, and
an experimental release, which uses JDK8 to build most files, and JDK11 to
build the Java 11 specific AtomicBTreePartitionBase file.

> In that thread it was mentioned the concerns about the cost of running
tests twice, and whether we should avoid running tests with JDK11 until
we're closer to formally supporting JDK11 at run-time.
My proposal is not to necessarily run UTs and DTests against JDK11 always
with every commit but to have workflows in place that can be used whenever
we deem necessary.

Thanks,
Sumanth

On Thu, Aug 30, 2018 at 12:34 AM Mick Semb Wever <mck@xxxxxxxxxx> wrote:

>
> Hey Sumanth,
>  could you clear a few things up for me…
>
> > C* 2.2
>
> > > I'm still a bit confused as to what's the benefit in compiling with
> > > jdk1.7 and then testing with jdk1.7 or jdk1.8
> >
> > I meant two separate workflows for each JDK i.e.
> > Workflow1: Build against jdk1.7, and optionally run UTs and Dtests
> against
> > 1.7
>
> I'm still left wondering why we want to use CI resources to find bugs that
> the users will never encounter.
> If you take out "and optionally run UTs and Dtests against 1.7" from
> workflow1 then I'm fine with it.
>
> The time it takes for tests to run is a headache, so to have to run dtests
> four times over makes me grimace.
>
>
> > C* 4.0
>
> I'm not quite clear on what the change you intend here is.
>
> Currently afaik we can't build the artefacts against only either JDK8 or
> JDK11, hence the hybrid jdk setup.
> I think building the artefacts should be part of the CI build step because
> patches are not always about java code.
>
> And that unit and dtests are run only against these 'release' built
> artefacts. Presuming the plan remains that the hybrid approach would be the
> 'release' process so long as jdk11 was GA before Cassandra-4.0.
>
>
> https://lists.apache.org/thread.html/45b3f12885f881d211f79368bdd5046e504e0149757cf19c8747bcb2@%3Cdev.cassandra.apache.org%3E
>
> In that thread it was mentioned the concerns about the cost of running
> tests twice, and whether we should avoid running tests with JDK11 until
> we're closer to formally supporting JDK11 at run-time.
>
> regards,
> Mick
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@xxxxxxxxxxxxxxxxxxxx
> For additional commands, e-mail: dev-help@xxxxxxxxxxxxxxxxxxxx
>
>