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

Reply via email to