Mikhail Cherkasov created IGNITE-10244:
------------------------------------------

             Summary: Peer classloading creates a new class on each call for 
nested compute tasks
                 Key: IGNITE-10244
                 URL: https://issues.apache.org/jira/browse/IGNITE-10244
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.7
            Reporter: Mikhail Cherkasov
         Attachments: JustServer.java, MyCall.java, NestedCall.java, Test.java

If a compute task has embedded compute tasks, embeded task will be loaded by 
peer class loading as a new class on each call, which leads to metadata OOM.

Reproducer is attached. Make sure that you run ignite nodes with 
-XX:MaxMetaspaceSize=64m , by default JVM doesn't limit meta space size.

So what happens:
 # client sends compute taks MyCall to server_1
 # server_1 execute MyCall and MyCall sends NestedCall task to server_2
 # server_2 loads NestedCall as a new class and execute it
 # repeat it's again and on second iteration server_2 will load NestedCall as 
new class again, after few iterations this will lead to OOM



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to