[
https://issues.apache.org/jira/browse/IGNITE-8275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18077698#comment-18077698
]
Dmitry Pavlov edited comment on IGNITE-8275 at 5/1/26 5:38 PM:
---------------------------------------------------------------
codex in relation to a new failures:
Likely root cause: environmental/infra. The failure is very likely in the
compatibility test harness before the old 2.6.0 client actually runs:
IgniteCompatibilityAbstractTest.getProcessProxyJvmArgs() reflects into the JDK
classloader via CompatibilityTestsUtils, which needs JDK module opens under
Java 11+. When those JVM args are missing, many compatibility parameter tests
fail quickly with empty/poor TeamCity details.
Confidence: medium-high. Local JDK 11 reproduction hit the same shape: many
fast PDS compatibility failures, including testOldClientToCurrentServer[Version
2.6.0], rooted at CompatibilityTestsUtils initialization.
Files/classes/methods to inspect:
modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/util/CompatibilityTestsUtils.java,
especially urlClassLoaderField()
modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java#getProcessProxyJvmArgs
modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java#testOldClientToCurrentServer
modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java#testOldClientToCurrentServer
Minimal fix/mitigation: make sure the TeamCity Maven JVM for this suite gets
the required opens, especially:
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
and likely the standard Ignite Java 11 opens set via JDK_MAVEN_OPTS /
MAVEN_OPTS. Longer term, remove the harness dependency on private
BuiltinClassLoader.ucp reflection.
Retry justified: yes, if rerun uses a correctly configured Java 11 Maven
environment. This does not look tied to the local docs-only changes.
Artifact/log to confirm: the raw build log around the first failing
compatibility test should show either ExceptionInInitializerError,
InaccessibleObjectException, or NoClassDefFoundError: Could not initialize
class
org.apache.ignite.compatibility.testframework.util.CompatibilityTestsUtils near
IgniteCompatibilityAbstractTest.java:217.
was (Author: dpavlov):
codex:
Likely root cause: environmental/infra. The failure is very likely in the
compatibility test harness before the old 2.6.0 client actually runs:
IgniteCompatibilityAbstractTest.getProcessProxyJvmArgs() reflects into the JDK
classloader via CompatibilityTestsUtils, which needs JDK module opens under
Java 11+. When those JVM args are missing, many compatibility parameter tests
fail quickly with empty/poor TeamCity details.
Confidence: medium-high. Local JDK 11 reproduction hit the same shape: many
fast PDS compatibility failures, including testOldClientToCurrentServer[Version
2.6.0], rooted at CompatibilityTestsUtils initialization.
Files/classes/methods to inspect:
modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/util/CompatibilityTestsUtils.java,
especially urlClassLoaderField()
modules/compatibility/src/test/java/org/apache/ignite/compatibility/testframework/junits/IgniteCompatibilityAbstractTest.java#getProcessProxyJvmArgs
modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/AbstractClientCompatibilityTest.java#testOldClientToCurrentServer
modules/compatibility/src/test/java/org/apache/ignite/compatibility/clients/JavaThinCompatibilityTest.java#testOldClientToCurrentServer
Minimal fix/mitigation: make sure the TeamCity Maven JVM for this suite gets
the required opens, especially:
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
and likely the standard Ignite Java 11 opens set via JDK_MAVEN_OPTS /
MAVEN_OPTS. Longer term, remove the harness dependency on private
BuiltinClassLoader.ucp reflection.
Retry justified: yes, if rerun uses a correctly configured Java 11 Maven
environment. This does not look tied to the local docs-only changes.
Artifact/log to confirm: the raw build log around the first failing
compatibility test should show either ExceptionInInitializerError,
InaccessibleObjectException, or NoClassDefFoundError: Could not initialize
class
org.apache.ignite.compatibility.testframework.util.CompatibilityTestsUtils near
IgniteCompatibilityAbstractTest.java:217.
> PDS (Compatibility): FoldersReuseCompatibilityTest
> --------------------------------------------------
>
> Key: IGNITE-8275
> URL: https://issues.apache.org/jira/browse/IGNITE-8275
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.5
> Reporter: Petr Ivanov
> Assignee: Petr Ivanov
> Priority: Major
> Labels: MakeTeamcityGreenAgain
>
> Some weird behaviour of *IgniteCompatibilityBasicTestSuite* test suite:
> * {{mvn test}} run reports 8 successful tests (see
> https://ci.ignite.apache.org/viewLog.html?buildId=1211334&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_PdsCompatibility)
> * {{mvn surefire:test}} run reports 2 failures (see
> https://ci.ignite.apache.org/viewLog.html?buildId=1211336&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_PdsCompatibility)
> {code}
> [2018-04-16 09:41:29,823][ERROR][main][root] Test failed.
> junit.framework.AssertionFailedError: Directory [binary_meta,
> d0d49035_c611_4836_8956_8fdf220d7f46] is expected to exist
> [/data/teamcity/work/c182b70f2dfa6507/work/binary_meta/d0d49035_c611_4836_8956_8fdf220d7f46]
> at junit.framework.Assert.fail(Assert.java:57)
> at junit.framework.Assert.assertTrue(Assert.java:22)
> at junit.framework.TestCase.assertTrue(TestCase.java:192)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.assertDirectoryExist(FoldersReuseCompatibilityTest.java:258)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.assertPdsDirsDefaultExist(FoldersReuseCompatibilityTest.java:231)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.runFoldersReuse(FoldersReuseCompatibilityTest.java:128)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.testFoldersReuseCompatibility_2_2(FoldersReuseCompatibilityTest.java:97)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at junit.framework.TestCase.runTest(TestCase.java:176)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:2080)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:140)
> at
> org.apache.ignite.testframework.junits.GridAbstractTest$5.run(GridAbstractTest.java:1995)
> at java.lang.Thread.run(Thread.java:745)
> [org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.testFoldersReuseCompatibility_2_2]
> junit.framework.AssertionFailedError: Directory [binary_meta,
> d0d49035_c611_4836_8956_8fdf220d7f46] is expected to exist
> [/data/teamcity/work/c182b70f2dfa6507/work/binary_meta/d0d49035_c611_4836_8956_8fdf220d7f46]
> [org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.testFoldersReuseCompatibility_2_2]
> junit.framework.AssertionFailedError: Directory [binary_meta,
> d0d49035_c611_4836_8956_8fdf220d7f46] is expected to exist
> [/data/teamcity/work/c182b70f2dfa6507/work/binary_meta/d0d49035_c611_4836_8956_8fdf220d7f46]
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.assertDirectoryExist(FoldersReuseCompatibilityTest.java:258)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.assertPdsDirsDefaultExist(FoldersReuseCompatibilityTest.java:231)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.runFoldersReuse(FoldersReuseCompatibilityTest.java:128)
> at
> org.apache.ignite.compatibility.persistence.FoldersReuseCompatibilityTest.testFoldersReuseCompatibility_2_2(FoldersReuseCompatibilityTest.java:97)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)