cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Brown (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-14563) Add animalsniffer to build to ensure runtime jdk compatbility
Date Mon, 13 Aug 2018 12:47:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-14563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16578233#comment-16578233
] 

Jason Brown commented on CASSANDRA-14563:
-----------------------------------------

bq. having added support for java11, what are you thoughts here? Should we be trying to make
life simpler for ourselves by focusing on what runtime java versions we support while narrowing
which versions we support building with?

In CASSANDRA-9608, we compile with either java 8 and java11 JDKs as java11 support is considered
experimental (perhaps not by the time we GA 4.0). As of 4.0, java11 JDK builds will only run
on java11(+), but that's mostly due to the JPMS thing (and the deprecation of java.misc.Unsafe).
Thus we do need to have two supported build JDKs there.

I'm not sure if animalsniffer will help us in the java8/java11 case with the whole JPMS situation
(I would have to read up again), but it will help in the java7/java8 path. 

I'm fine with settling on just those two JDKs for compilation (and java11 just for 4.0). What
I would like, in addition, is a way to run the utests and dtests against those specific JDKs.
We obviously do this for the primary supported JDK, java8, but having the sanity check for
a different JDK is nice.

So, how do we get there? I like both the animalsniffer and CI routes, tbh. At a minimum an
animalsniffer task in the ant build should be a low bar for the java7/java8 builds for 2.2,
and we can add that for 2.2. Since it doesn't apply to 3.0/3.11 (we only build and run on
java8), it's not needed there. If someone wants to investigate animalsniffer for the trunk
java11 builds, as well, that would be fine, as well, but I'm not holding my breath.

wrt CI, I would have though the .circleci route would been the harder path, but since [~sumanth.pasupuleti]
already did the work in CASSANDRA-14625, I guess we have a path forward there. I don't think
those CI runs (for java11 on 4.0, for instance) should run by default, but having the option
is awesome.

> Add animalsniffer to build to ensure runtime jdk compatbility
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-14563
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14563
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Build
>            Reporter: mck
>            Assignee: Sumanth Pasupuleti
>            Priority: Minor
>              Labels: lhf
>
> Cassandra-2.2 still supports running on JDK1.7
> No tests check this though, as all build and test with JDK1.8
> Adding the ant animalsniffer task can check that jdk1.8 classes or methods are not used
accidentally.
> ref: http://www.mojohaus.org/animal-sniffer/animal-sniffer/index.html



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message