ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stanilovsky Evgeny (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-4806) Infinite classLoading discovery process
Date Thu, 09 Mar 2017 13:18:37 GMT
Stanilovsky Evgeny created IGNITE-4806:
------------------------------------------

             Summary: Infinite classLoading discovery process
                 Key: IGNITE-4806
                 URL: https://issues.apache.org/jira/browse/IGNITE-4806
             Project: Ignite
          Issue Type: Bug
          Components: compute
    Affects Versions: 1.8
            Reporter: Stanilovsky Evgeny
            Assignee: Stanilovsky Evgeny
            Priority: Minor


Hello, i found infinite discovery class loading after very rare usage case.
In a nutshell to reproduce we need to run sequentially 3 different jvm instances.
FirstNode instance simple start the grid.
SecondNode connect to grid, initialize custom classLoader, and run IgniteCallable (JobA) wrapped
into ComputeTask instance.
ThirdNode  connect to grid, initialize custom classLoader, and run two IgniteCallable (JobB,
jobB2) wrapped into ComputeTask instances.
Finally we can observe JobA has been running in First and Second nodes, JobB  has been running
in First, Second and Third nodes, while jobB2 starts infinite class loading. We could see
it simply looking into First Node thread dump:
{code}
"pub-#69%grid%" prio=10 tid=0x00007f9218015800 nid=0x3de5 runnable [0x00007f9254176000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.Throwable.fillInStackTrace(Native Method)
	at java.lang.Throwable.fillInStackTrace(Throwable.java:783)
	- locked <0x00000007d43ced00> (a java.lang.ClassNotFoundException)
	at java.lang.Throwable.<init>(Throwable.java:287)
	at java.lang.Exception.<init>(Exception.java:84)
	at java.lang.ReflectiveOperationException.<init>(ReflectiveOperationException.java:75)
	at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:82)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	- locked <0x000000070c22fd08> (a java.lang.Object)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:278)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore.getDeployment(GridDeploymentLocalStore.java:191)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentManager.getLocalDeployment(GridDeploymentManager.java:383)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:497)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	- locked <0x000000070c0361e0> (a org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:278)
	at org.apache.ignite.internal.managers.deployment.GridDeployment.deployedClass(GridDeployment.java:444)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentPerVersionStore.getDeployment(GridDeploymentPerVersionStore.java:454)
	at org.apache.ignite.internal.managers.deployment.GridDeploymentManager.getGlobalDeployment(GridDeploymentManager.java:494)
	at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:982)
	at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1894)
	at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1082)
	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:710)
	at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:102)
	at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:673)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message