This is an automated email from the ASF dual-hosted git repository.

zstan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new ba36bbed566 IGNITE-29069 Fix the PdsCompatibility test for JDK 21 
(#13606)
ba36bbed566 is described below

commit ba36bbed566cc841efddad28bec1e5e5bc8db191
Author: Aleksandr Nikolaev <[email protected]>
AuthorDate: Thu Sep 24 14:12:16 2026 +0300

    IGNITE-29069 Fix the PdsCompatibility test for JDK 21 (#13606)
---
 .../clients/AbstractClientCompatibilityTest.java          |  3 +++
 .../clients/JavaThinCompatibilityStoragePathTest.java     | 15 +++++++++++----
 .../compatibility/clients/JavaThinCompatibilityTest.java  |  6 +++++-
 .../compatibility/clients/JdbcThinCompatibilityTest.java  |  6 +++++-
 .../persistence/CompoundIndexCompatibilityTest.java       |  1 +
 .../persistence/IndexTypesCompatibilityTest.java          |  7 ++++++-
 .../persistence/InlineJavaObjectCompatibilityTest.java    |  7 ++++++-
 .../persistence/PersistenceBasicCompatibilityTest.java    |  7 ++++++-
 .../TcpDiscoveryDifferentClusterVersionsTest.java         | 12 ++++++++++--
 9 files changed, 53 insertions(+), 11 deletions(-)

diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java
index afdcab70bb4..c3b0f0766bb 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java
@@ -78,6 +78,9 @@ public abstract class AbstractClientCompatibilityTest extends 
IgniteCompatibilit
     /** Version 2.15.0. */
     protected static final IgniteProductVersion VER_2_15_0 = 
IgniteProductVersion.fromString("2.15.0");
 
+    /** Version 2.16.0. */
+    protected static final IgniteProductVersion VER_2_16_0 = 
IgniteProductVersion.fromString("2.16.0");
+
     /** Version 2.18.0. */
     protected static final IgniteProductVersion VER_2_18_0 = 
IgniteProductVersion.fromString("2.18.0");
 
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityStoragePathTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityStoragePathTest.java
index 911e2a151f4..037fbe85273 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityStoragePathTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityStoragePathTest.java
@@ -81,21 +81,28 @@ public class JavaThinCompatibilityStoragePathTest extends 
AbstractClientCompatib
 
     /** {@inheritDoc} */
     @Override public void testOldClientToCurrentServer() throws Exception {
-        assumeTrue("Cluster state API exists only from 2.9.0 release", 
ver.compareTo(VER_2_9_0) >= 0);
+        assumeVersionSupported();
 
         super.testOldClientToCurrentServer();
     }
 
     /** {@inheritDoc} */
     @Override public void testCurrentClientToOldServer() throws Exception {
+        assumeVersionSupported();
+
+        super.testCurrentClientToOldServer();
+    }
+
+    /** Skips the test if the old version doesn't support the cluster state 
API or the current JDK. */
+    private void assumeVersionSupported() {
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer >= 17)
+        if (majorJavaVer >= 21)
+            assumeTrue("JDK 21 support is available starting with release 
2.16.0", ver.compareTo(VER_2_16_0) >= 0);
+        else if (majorJavaVer >= 17)
             assumeTrue("JDK 17 support is available starting with release 
2.13.0", ver.compareTo(VER_2_13_0) >= 0);
         else
             assumeTrue("Cluster state API exists only from 2.9.0 release", 
ver.compareTo(VER_2_9_0) >= 0);
-
-        super.testCurrentClientToOldServer();
     }
 
 
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java
index 271a45a8660..732aa27457b 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java
@@ -107,7 +107,11 @@ public class JavaThinCompatibilityTest extends 
AbstractClientCompatibilityTest {
 
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer > 11) {
+        if (majorJavaVer >= 21) {
+            Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
+                    
VER_2_16_0.compareTo(IgniteProductVersion.fromString(verFormatted)) <= 0);
+        }
+        else if (majorJavaVer > 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                     
VER_2_12_0.compareTo(IgniteProductVersion.fromString(verFormatted)) < 0);
         }
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JdbcThinCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JdbcThinCompatibilityTest.java
index bb0d070cb61..b337c79f53a 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JdbcThinCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JdbcThinCompatibilityTest.java
@@ -55,7 +55,11 @@ public class JdbcThinCompatibilityTest extends 
AbstractClientCompatibilityTest {
 
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer > 11) {
+        if (majorJavaVer >= 21) {
+            Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
+                
VER_2_16_0.compareTo(IgniteProductVersion.fromString(verFormatted)) <= 0);
+        }
+        else if (majorJavaVer > 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                 
VER_2_12_0.compareTo(IgniteProductVersion.fromString(verFormatted)) < 0);
         }
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/CompoundIndexCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/CompoundIndexCompatibilityTest.java
index 9bfd2e75740..6d6be72c83f 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/CompoundIndexCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/CompoundIndexCompatibilityTest.java
@@ -52,6 +52,7 @@ public class CompoundIndexCompatibilityTest extends 
IndexAbstractCompatibilityTe
 
     /** */
     @Test
+    @SkipTestIfIsJdkNewer(17)
     public void testSecondaryIndexesMigration_2_13_0() throws Exception {
         // 2.13.0 - version with _KEY unwrapping, but before index processing 
moved to the core module.
         doTestStartupWithOldVersion("2.13.0", () -> {
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IndexTypesCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IndexTypesCompatibilityTest.java
index c1cf8dcf740..c9ca184edb9 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IndexTypesCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/IndexTypesCompatibilityTest.java
@@ -47,6 +47,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_12_0;
+import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_16_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_6_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.since;
 import static org.apache.ignite.testframework.GridTestUtils.cartesianProduct;
@@ -112,7 +113,11 @@ public class IndexTypesCompatibilityTest extends 
IndexAbstractCompatibilityTest
     public void testQueryOldIndex() throws Exception {
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer > 11) {
+        if (majorJavaVer >= 21) {
+            Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
+                    
VER_2_16_0.compareTo(IgniteReleasedVersion.fromString(igniteVer)) <= 0);
+        }
+        else if (majorJavaVer > 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                     
VER_2_12_0.compareTo(IgniteReleasedVersion.fromString(igniteVer)) < 0);
         }
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/InlineJavaObjectCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/InlineJavaObjectCompatibilityTest.java
index 917a8bd7bc3..3cbffb051b6 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/InlineJavaObjectCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/InlineJavaObjectCompatibilityTest.java
@@ -42,6 +42,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_12_0;
+import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_16_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_6_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.since;
 import static org.apache.ignite.testframework.GridTestUtils.cartesianProduct;
@@ -83,7 +84,11 @@ public class InlineJavaObjectCompatibilityTest extends 
IndexAbstractCompatibilit
     public void testQueryOldInlinedIndex() throws Exception {
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer > 11) {
+        if (majorJavaVer >= 21) {
+            Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
+                
VER_2_16_0.compareTo(IgniteReleasedVersion.fromString(igniteVer)) <= 0);
+        }
+        else if (majorJavaVer > 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                 
VER_2_12_0.compareTo(IgniteReleasedVersion.fromString(igniteVer)) < 0);
         }
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
index 2a34e543f59..1965c20eadd 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/persistence/PersistenceBasicCompatibilityTest.java
@@ -46,6 +46,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_12_0;
+import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_16_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_1_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.VER_2_3_0;
 import static org.apache.ignite.compatibility.IgniteReleasedVersion.since;
@@ -104,7 +105,11 @@ public class PersistenceBasicCompatibilityTest extends 
IgnitePersistenceCompatib
     public void testNodeStartByOldVersionPersistenceData() throws Exception {
         int majorJavaVer = U.majorJavaVersion(U.jdkVersion());
 
-        if (majorJavaVer > 11) {
+        if (majorJavaVer >= 21) {
+            Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
+                
VER_2_16_0.compareTo(IgniteReleasedVersion.fromString(version)) <= 0);
+        }
+        else if (majorJavaVer > 11) {
             Assume.assumeTrue("Skipped on jdk " + U.jdkVersion(),
                 
VER_2_12_0.compareTo(IgniteReleasedVersion.fromString(version)) < 0);
         }
diff --git 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/spi/discovery/TcpDiscoveryDifferentClusterVersionsTest.java
 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/spi/discovery/TcpDiscoveryDifferentClusterVersionsTest.java
index 415cc28a6f0..0be64515e94 100644
--- 
a/modules/compatibility/src/test/java/org/apache/ignite/compatibility/spi/discovery/TcpDiscoveryDifferentClusterVersionsTest.java
+++ 
b/modules/compatibility/src/test/java/org/apache/ignite/compatibility/spi/discovery/TcpDiscoveryDifferentClusterVersionsTest.java
@@ -85,7 +85,7 @@ public class TcpDiscoveryDifferentClusterVersionsTest extends 
IgniteCompatibilit
 
         GridTestUtils.assertThrows(
             log,
-            () -> startGrid("old-node", OLD_VERSION.toString(), new 
ConfigurationClosure()),
+            () -> startGrid("old-node", OLD_VERSION.toString(), new 
ConfigurationClosure(client)),
             AssertionError.class,
             null
         );
@@ -94,7 +94,15 @@ public class TcpDiscoveryDifferentClusterVersionsTest 
extends IgniteCompatibilit
     }
 
     /** Setup node closure. */
-    private class ConfigurationClosure implements 
IgniteInClosure<IgniteConfiguration> {
+    private static class ConfigurationClosure implements 
IgniteInClosure<IgniteConfiguration> {
+        /** */
+        private final boolean client;
+
+        /** @param client Client mode flag. */
+        ConfigurationClosure(boolean client) {
+            this.client = client;
+        }
+
         /** {@inheritDoc} */
         @Override public void apply(IgniteConfiguration cfg) {
             cfg.setClientMode(client);

Reply via email to