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

Bret McGuire edited comment on CASSANDRA-19504 at 3/29/24 5:31 AM:
-------------------------------------------------------------------

Current Jenkinsfile includes a 3x3 matrix (C* 3.11 and 4.0 + DSE 6.8 X Java 8, 
11 and 17) for running unit and integration tests.  We're seeing tests that 
should be run against Java8 using Java17, tests which should be using Java11 
using Java8 and so on.  Results vary wildly; there's no consistency as to which 
JVM is used for a given C*/Java pair.

 

Belief is that the underlying cause here are changes that came in with [this 
PR|https://github.com/apache/cassandra-java-driver/pull/1663].  These changes 
introduced a few additional args to the "mvn verify" invocation; these args are 
passed through env vars computed by the Jenkinsfile itself.  Best guess is that 
this mechanism for state management gets confused when invoking the 3x3 matrix 
which leads to random JVM selection for a given run.  As mentioned by 
[~janesiyaohe] we should be able to address this via better state management.

 

Note that this issue affects the DataStax Java driver CI implementation only; 
we don't have ASF CI setup for the Java driver yet.  We have to fix it by 
modifying the Jenkinsfile, however, so a CASSANDRA ticket seemed appropriate.


was (Author: JIRAUSER304104):
Current Jenkinsfile includes a 3x3 matrix (C* 3.11 and 4.0 + DSE 6.8 X Java 8, 
11 and 17) for running unit and integration tests.  We're seeing tests that 
should be run against Java8 using Java17, tests which should be using Java11 
using Java8 and so on.  Results vary wildly; there's no consistency as to which 
JVM is used for a given C*/Java pair.

 

Belief is that the underlying cause here are changes that came in with [this 
PR|https://github.com/apache/cassandra-java-driver/pull/1663].  These changes 
introduced a few additional args to the "mvn verify" invocation; these args are 
passed through env vars computed by the Jenkinsfile itself.  Best guess is that 
this mechanism for state management gets confused when invoking the 3x3 matrix 
which leads to random JVM selection for a given run.  As mentioned by 
[~janesiyaohe] we should be able to address this via better state management.

> Jenkinsfile doesn't invoke tests with the correct Java versions
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-19504
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19504
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Client/java-driver
>            Reporter: Jane He
>            Assignee: Jane He
>            Priority: Normal
>
> The existing Jenkinsfile is intended to run tests against multiple Java 
> versions (8, 11, 17). However, due to the concurrency in multiple matrix jobs 
> and the global scope of `TEST_JAVA_VERSION` and `TEST_JAVA_HOME`, the jobs 
> are actually only run against one version.
> This can be fixed by defining these variables locally, using `def` keyword. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to