[ 
https://issues.apache.org/jira/browse/IGNITE-22952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Bessonov updated IGNITE-22952:
-----------------------------------
    Release Note: Fixed lambda serialization issues in code deployment for Java 
21

> IgniteDeploymentException upon using Compute API under Java 21
> --------------------------------------------------------------
>
>                 Key: IGNITE-22952
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22952
>             Project: Ignite
>          Issue Type: Bug
>          Components: compute
>            Reporter: Ivan Bessonov
>            Assignee: Ivan Bessonov
>            Priority: Major
>             Fix For: 2.17
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> * Start a node via bin/ignite.sh
>  * Start the {{CacheAffinityExample}} on Java 21. The example is started with 
> the same JVM options which are used to start a node:
> {code:java}
> -DIGNITE_UPDATE_NOTIFIER=false
> -Xmx1g
> -Xms1g
> -DCONSISTENT_ID=1001
> --add-opens=java.base/jdk.internal.access=ALL-UNNAMED
> --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
> --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
> --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
> --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
> --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
> --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
> --add-opens=java.base/java.io=ALL-UNNAMED
> --add-opens=java.base/java.net=ALL-UNNAMED
> --add-opens=java.base/java.nio=ALL-UNNAMED
> --add-opens=java.base/java.security.cert=ALL-UNNAMED
> --add-opens=java.base/java.util=ALL-UNNAMED
> --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
> --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
> --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
> --add-opens=java.base/java.lang=ALL-UNNAMED
> --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
> --add-opens=java.base/java.math=ALL-UNNAMED
> --add-opens=java.base/java.time=ALL-UNNAMED
> --add-opens=java.base/sun.security.ssl=ALL-UNNAMED
> --add-opens=java.base/sun.security.x509=ALL-UNNAMED
> --add-opens=java.sql/java.sql=ALL-UNNAMED{code}
> Expected behavior:
>  * The example finishes without errors
> Actual behavior:
>  * The example fails with the following exception in the example’s log:
> {code:java}
> [2024-04-17T08:09:43.27][INFO][main][GridDeploymentLocalStore] Class locally 
> deployed: class 
> org.apache.ignite.examples.datagrid.CacheAffinityExample$$Lambda/0x00007f7264515000
> [2024-04-17T08:09:43.384][WARNING][p2p-#78][GridDeploymentCommunication] 
> Failed to resolve class 
> [originatingNodeId=21e1dbde-b1b3-4eb2-8d8e-0418e4dfeb1b, 
> class=o.a.i.examples.datagrid.CacheAffinityExample$$Lambda.0x00007f7264515000,
>  req=GridDeploymentRequest 
> [rsrcName=org/apache/ignite/examples/datagrid/CacheAffinityExample$$Lambda/0x00007f7264515000.class,
>  ldrId=dbcba1bee81-37bf182b-b8f7-471e-ae26-7145048e19d1, isUndeploy=false, 
> nodeIds=null]]
> java.lang.ClassNotFoundException: 
> org.apache.ignite.examples.datagrid.CacheAffinityExample$$Lambda.0x00007f7264515000
>     at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>     at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
>     at java.base/java.lang.Class.forName0(Native Method)
>     at java.base/java.lang.Class.forName(Class.java:534)
>     at java.base/java.lang.Class.forName(Class.java:513)
>     at 
> org.apache.ignite.internal.managers.deployment.GridDeploymentCommunication.processResourceRequest(GridDeploymentCommunication.java:218)
>     at 
> org.apache.ignite.internal.managers.deployment.GridDeploymentCommunication.processDeploymentRequest(GridDeploymentCommunication.java:155)
>     at 
> org.apache.ignite.internal.managers.deployment.GridDeploymentCommunication.access$000(GridDeploymentCommunication.java:55)
>     at 
> org.apache.ignite.internal.managers.deployment.GridDeploymentCommunication$1.onMessage(GridDeploymentCommunication.java:91)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1727)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4500(GridIoManager.java:158)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager$7.run(GridIoManager.java:1164)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>     at java.base/java.lang.Thread.run(Thread.java:1583){code}
> The following exception is seen in the server node’s log:
> {code:java}
> [2024-04-17T08:09:43.391][INFO][pub-#77][GridDeploymentPerVersionStore] 
> Failed to get resource from node 
> [nodeId=37bf182b-b8f7-471e-ae26-7145048e19d1, 
> clsLdrId=dbcba1bee81-37bf182b-b8f7-471e-ae26-7145048e19d1, 
> resName=org/apache/ignite/examples/datagrid/CacheAffinityExample$$Lambda/0x00007f7264515000.class,
>  
> classLoadersHierarchy=org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader->jdk.internal.loader.ClassLoaders$AppClassLoader->jdk.internal.loader.ClassLoaders$PlatformClassLoader,
>  msg=Requested resource not found (ignoring locally) 
> [originatingNodeId=21e1dbde-b1b3-4eb2-8d8e-0418e4dfeb1b, 
> resourceName=org/apache/ignite/examples/datagrid/CacheAffinityExample$$Lambda/0x00007f7264515000.class,
>  classLoaderId=dbcba1bee81-37bf182b-b8f7-471e-ae26-7145048e19d1]]
> [2024-04-17T08:09:43.392][SEVERE][pub-#77][GridJobProcessor] Task was not 
> deployed or was redeployed since task execution 
> [taskName=o.a.i.examples.datagrid.CacheAffinityExample$$Lambda/0x00007f7264515000,
>  
> taskClsName=o.a.i.examples.datagrid.CacheAffinityExample$$Lambda/0x00007f7264515000,
>  codeVer=0, clsLdrId=dbcba1bee81-37bf182b-b8f7-471e-ae26-7145048e19d1, 
> seqNum=1713341381821, depMode=SHARED, dep=null]
> class org.apache.ignite.IgniteDeploymentException: Task was not deployed or 
> was redeployed since task execution 
> [taskName=org.apache.ignite.examples.datagrid.CacheAffinityExample$$Lambda/0x00007f7264515000,
>  
> taskClsName=org.apache.ignite.examples.datagrid.CacheAffinityExample$$Lambda/0x00007f7264515000,
>  codeVer=0, clsLdrId=dbcba1bee81-37bf182b-b8f7-471e-ae26-7145048e19d1, 
> seqNum=1713341381821, depMode=SHARED, dep=null]
>     at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1431)
>     at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:2213)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1727)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1334)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:158)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1218)
>     at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>     at java.base/java.lang.Thread.run(Thread.java:1583){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to