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


Reply via email to