gemmellr commented on code in PR #5993:
URL: https://github.com/apache/activemq-artemis/pull/5993#discussion_r2451826061
##########
tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/MultiVersionReplicaTest.java:
##########
@@ -59,12 +59,16 @@ public class MultiVersionReplicaTest extends ClasspathBase {
@Parameters(name = "main={0}, backup={1}")
public static Collection getParameters() {
List<Object[]> combinations = new ArrayList<>();
- combinations.add(new Object[]{TWO_TWENTYTWO_ZERO, SNAPSHOT});
- combinations.add(new Object[]{SNAPSHOT, TWO_TWENTYTWO_ZERO});
- combinations.add(new Object[]{TWO_SEVENTEEN_ZERO, SNAPSHOT});
- combinations.add(new Object[]{SNAPSHOT, TWO_SEVENTEEN_ZERO});
- combinations.add(new Object[]{TWO_EIGHTEEN_ZERO, SNAPSHOT});
- combinations.add(new Object[]{SNAPSHOT, TWO_EIGHTEEN_ZERO});
+
+ if (getJavaVersion() <= 22) {
+ // Old 2.x servers fail on JDK23+ without workarounds.
+ combinations.add(new Object[]{TWO_TWENTYTWO_ZERO, SNAPSHOT});
+ combinations.add(new Object[]{SNAPSHOT, TWO_TWENTYTWO_ZERO});
+ combinations.add(new Object[]{TWO_SEVENTEEN_ZERO, SNAPSHOT});
+ combinations.add(new Object[]{SNAPSHOT, TWO_SEVENTEEN_ZERO});
+ combinations.add(new Object[]{TWO_EIGHTEEN_ZERO, SNAPSHOT});
+ combinations.add(new Object[]{SNAPSHOT, TWO_EIGHTEEN_ZERO});
+ }
Review Comment:
To be clear, we will still be validating those combinations using Java 17
and 21 in CI on each commit, so noone is going to miss any related breakage the
tests could currently catch.
I went through all the invididual test failures from the initial runs on JDK
25 and picked out the bits that failed so the rest could continue. So we cant
just add that one back, it doesnt work as things are.
The only possibility that might make it work would be to disable the
AuditLogging loggers for each specific version. However those versions all use
JBL rather than SLF4J+Log4J and so doing that would require adding jars to the
bootclasspath, and others to the regular classpath (should already be there),
adding a config file, and setting some properties at JVM startup. The only way
I see of doing these things would be having test-specific surefire invocations
and config. I dont personally think its worth the time or uglyness that would
result. Plus no version below 2.44.0 will be usable on future JDKs once the
SecurityManager related APIs are actually removed. To keep testing these
combinations is going to require multiple JVMs or taking a different approach.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact