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);