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

Marcus Eriksson commented on CASSANDRA-14806:
---------------------------------------------

bq. We should use java11-executor for the prerequisite clone & build step.
so I was trying to figure out how to solve 
[this|https://circleci.com/gh/krummas/cassandra/1143#tests/containers/1] 
problem:
{code}
java.lang.NoSuchMethodError: 
java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
        at 
org.apache.cassandra.io.compress.CompressedSequentialWriterReopenTest$BadCompressor.compress(CompressedSequentialWriterReopenTest.java:119)
        at 
org.apache.cassandra.io.compress.CompressedSequentialWriterReopenTest.badCompressor2(CompressedSequentialWriterReopenTest.java:55)
{code}
which happens when we build using java8 + java11:
 {code}
$ JAVA8_HOME=../jdk1.8.0_181.jdk/... JAVA_HOME=.../jdk-11.jdk/... ant clean jar
$ JAVA_HOME=../jdk1.8.0_181.jdk/... ant test
{code}
ie - we build on java11 and run the tests on java8. Looking at how we build the 
cassandra jar vs how the tests are built, the difference is that when building 
the multi-target, we explicitly state that we should use the java8 compiler 
(and we also fork the jvm, which is required, otherwise {{<compilerarg 
value="-XDignore.symbol.file"/>}} is dropped since compilerarg is passed when 
forking the jvm.). 

bq. I'd prefer to leave the cql tests 
these are not the cqlsh tests, these are the cql ant tests, which are run by 
default by the standard unit test target

bq. I wouldn't move them yet and execute along with regular unit test, unless 
they won't be able to execute on low resources settings.
I'll try them out on low-resource settings, if they pass in a reasonable time, 
I'll add them to auto-run

Pushed a few fixes to the branch, latest test run here: 
https://circleci.com/workflow-run/35c0e60e-f37c-4400-bf64-dd28f6ce5682

> CircleCI workflow improvements and Java 11 support
> --------------------------------------------------
>
>                 Key: CASSANDRA-14806
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14806
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Build, Testing
>            Reporter: Stefan Podkowinski
>            Assignee: Stefan Podkowinski
>            Priority: Major
>
> The current CircleCI config could use some cleanup and improvements. First of 
> all, the config has been made more modular by using the new CircleCI 2.1 
> executors and command elements. Based on CASSANDRA-14713, there's now also a 
> Java 11 executor that will allow running tests under Java 11. The {{build}} 
> step will be done using Java 11 in all cases, so we can catch any regressions 
> for that and also test the Java 11 multi-jar artifact during dtests, that 
> we'd also create during the release process.
> The job workflow has now also been changed to make use of the [manual job 
> approval|https://circleci.com/docs/2.0/workflows/#holding-a-workflow-for-a-manual-approval]
>  feature, which now allows running dtest jobs only on request and not 
> automatically with every commit. The Java8 unit tests still do, but that 
> could also be easily changed if needed. See [example 
> workflow|https://circleci.com/workflow-run/be25579d-3cbb-4258-9e19-b1f571873850]
>  with start_ jobs being triggers needed manual approval for starting the 
> actual jobs.



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

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

Reply via email to