点燃java.lang.ClassNotFoundException:对等加载类

时间:2016-11-09 05:16:55

标签: ignite

当我运行下面的代码时,我得到了#34;无法对等加载类"。

String objectIds = "1vxzn3ifggm4o,1a47fmqipb1u3,z56f5kkwlfk3,tths3z5k5l38,79lzqlrd4cg6";
for (String did : objectIds.split(",")) {
      calls.add(() -> {
           TLabObject object = RepositoryDao.getObject(did);
           System.out.println(">>> " + did + " on node = " + ignite.cluster().localNode().id());
           return object;
       });
}
Collection< TLabObject > res = ignite.compute(rmts).call(calls);

isPeerClassLoadingEnabled设置为true deployMode = SHARED

我们将不胜感激。

  

更多详细信息:

  • 我在IDE中使用junit测试用例运行此代码。
  • 服务器端是活动的,测试用例setClientMode(true)。

我试图打包项目并在终端中运行它,我得到了同样的异常。抛出异常后,客户端和服务器不会退出终端。服务器端日志显示客户端和服务器仍然存在:

  

[11:04:07]拓扑快照[ver = 5,servers = 1,clients = 1,CPUs = 4,   堆= 2.0GB

BTW:我发现如果依赖树是复杂的对等加载类失败了!在这种情况下,依赖深度为4 但是,当依赖深度= 2时,它可以工作

1,服务器端日志

[10:20:37,217][SEVERE][pub-#11%null%][GridJobWorker] Failed to execute job due to class or resource loading exception (make sure that task originating node is still in grid and requested class is in the task class path) [jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=com.testlab.lab.App$$Lambda$8/1801021153, dep=SharedDeployment [rmv=false, super=GridDeployment [ts=1478658022081, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, userVer=0, loc=false, sampleClsName=com.testlab.lab.App$$Lambda$8/1801021153, pendingUndeploy=false, undeployed=false, usage=1]], taskClsName=com.testlab.lab.App$$Lambda$8/1801021153, sesId=a8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, startTime=1478658021823, endTime=9223372036854775807, taskNodeId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, subjId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, mapFut=IgniteFuture [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1478658022092, endTime=0, ignoreInterrupts=false, state=INIT]]], jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637]] 
java.lang.NoClassDefFoundError: com/testlab/api/inf/dao/RepositoryDao 
        at com.testlab.lab.App.lambda$compute$eaa7aa4d$1(App.java:45) 
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2006) 
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) 
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1161) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1766) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) 
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: Failed to peer load class [class=com.testlab.api.inf.dao.RepositoryDao, nodeClsLdrs={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, parentClsLoader=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:661) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:509) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441) 
        ... 16 more 
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading request to node (is node alive?) [node=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsName=com.testlab.api.inf.dao.RepositoryDao, clsPath=com/testlab/api/inf/dao/RepositoryDao.class, clsLdrId=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:614) 
        ... 19 more 
[10:20:37,237][SEVERE][pub-#11%null%][GridJobWorker] Runtime error caught during grid runnable execution: GridJobWorker [createTime=1478658022060, startTime=1478658022182, finishTime=1478658037214, taskNode=TcpDiscoveryNode [id=8ae79cf0-61ea-498b-a2b3-550b9a16f637, addrs=[0:0:0:0:0:0:0:1, 127.0.0.1, 172.16.0.36], sockAddrs=[/172.16.0.36:0, /0:0:0:0:0:0:0:1:0, /127.0.0.1:0], discPort=0, order=56, intOrder=29, lastExchangeTime=1478658021088, loc=false, ver=1.7.0#20160801-sha1:383273e3, isClient=true], internal=false, marsh=o.a.i.i.binary.BinaryMarshaller@5f14cc1, ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=com.testlab.lab.App$$Lambda$8/1801021153, dep=SharedDeployment [rmv=false, super=GridDeployment [ts=1478658022081, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, userVer=0, loc=false, sampleClsName=com.testlab.lab.App$$Lambda$8/1801021153, pendingUndeploy=false, undeployed=false, usage=0]], taskClsName=com.testlab.lab.App$$Lambda$8/1801021153, sesId=a8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, startTime=1478658021823, endTime=9223372036854775807, taskNodeId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, subjId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, mapFut=IgniteFuture [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1478658022092, endTime=0, ignoreInterrupts=false, state=INIT]]], jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637], jobCtx=GridJobContextImpl [jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, timeoutObj=null, attrs={}], dep=SharedDeployment [rmv=false, super=GridDeployment [ts=1478658022081, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, userVer=0, loc=false, sampleClsName=com.testlab.lab.App$$Lambda$8/1801021153, pendingUndeploy=false, undeployed=false, usage=0]], finishing=true, masterLeaveGuard=false, timedOut=false, sysCancelled=false, sysStopping=false, isStarted=true, job=C2V2 [c=com.testlab.lab.App$$Lambda$13/1442687359@4cbe8650], held=0] 
java.lang.NoClassDefFoundError: com/testlab/api/inf/dao/RepositoryDao 
        at com.testlab.lab.App.lambda$compute$eaa7aa4d$1(App.java:45) 
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2006) 
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) 
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1161) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1766) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) 
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: Failed to peer load class [class=com.testlab.api.inf.dao.RepositoryDao, nodeClsLdrs={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, parentClsLoader=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:661) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:509) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441) 
        ... 16 more 
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading request to node (is node alive?) [node=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsName=com.testlab.api.inf.dao.RepositoryDao, clsPath=com/testlab/api/inf/dao/RepositoryDao.class, clsLdrId=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:614) 
        ... 19 more 
Exception in thread "pub-#11%null%" java.lang.NoClassDefFoundError: com/testlab/api/inf/dao/RepositoryDao 
        at com.testlab.lab.App.lambda$compute$eaa7aa4d$1(App.java:45) 
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2006) 
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) 
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1161) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1766) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) 
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: Failed to peer load class [class=com.testlab.api.inf.dao.RepositoryDao, nodeClsLdrs={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, parentClsLoader=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:661) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:509) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441) 
        ... 16 more 
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading request to node (is node alive?) [node=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsName=com.testlab.api.inf.dao.RepositoryDao, clsPath=com/testlab/api/inf/dao/RepositoryDao.class, clsLdrId=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:614) 
        ... 19 more 
[10:20:37] Topology snapshot [ver=57, servers=1, clients=0, CPUs=4, heap=1.0GB] 

2,客户端日志

[10:20:37,252][SEVERE][sys-#16%null%][GridTaskWorker] Failed to obtain remote job result policy for result from ComputeTask.result(..) method (will fail the whole task): GridJobResultImpl [job=C2V2 [c=com.testlab.lab.App$$Lambda$8/1801021153@7684759e], sib=GridJobSiblingImpl [sesId=a8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, nodeId=6dfe9b10-400c-48c7-85b3-ae6fe48236dc, isJobDone=false], jobCtx=GridJobContextImpl [jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, timeoutObj=null, attrs={}], node=TcpDiscoveryNode [id=6dfe9b10-400c-48c7-85b3-ae6fe48236dc, addrs=[0:0:0:0:0:0:0:1, 127.0.0.1, 172.16.0.36], sockAddrs=[/172.16.0.36:47500, /0:0:0:0:0:0:0:1:47500, /127.0.0.1:47500], discPort=47500, order=53, intOrder=28, lastExchangeTime=1478658021221, loc=false, ver=1.7.0#20160801-sha1:383273e3, isClient=false], ex=class o.a.i.compute.ComputeUserUndeclaredException: Failed to execute job due to class or resource loading exception (make sure that task originating node is still in grid and requested class is in the task class path) [jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=com.testlab.lab.App$$Lambda$8/1801021153, dep=SharedDeployment [rmv=false, super=GridDeployment [ts=1478658022081, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, userVer=0, loc=false, sampleClsName=com.testlab.lab.App$$Lambda$8/1801021153, pendingUndeploy=false, undeployed=false, usage=1]], taskClsName=com.testlab.lab.App$$Lambda$8/1801021153, sesId=a8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, startTime=1478658021823, endTime=9223372036854775807, taskNodeId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, subjId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, mapFut=IgniteFuture [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1478658022092, endTime=0, ignoreInterrupts=false, state=INIT]]], jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637]], hasRes=true, isCancelled=false, isOccupied=true] 
class org.apache.ignite.IgniteException: Remote job threw user exception (override or implement ComputeTask.result(..) method if you would like to have automatic failover for this exception). 
        at org.apache.ignite.compute.ComputeTaskAdapter.result(ComputeTaskAdapter.java:101) 
        at org.apache.ignite.internal.processors.task.GridTaskWorker$4.apply(GridTaskWorker.java:946) 
        at org.apache.ignite.internal.processors.task.GridTaskWorker$4.apply(GridTaskWorker.java:939) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6553) 
        at org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:939) 
        at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:810) 
        at org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995) 
        at org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1220) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) 
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at java.lang.Thread.run(Thread.java:745) 
Caused by: class org.apache.ignite.compute.ComputeUserUndeclaredException: Failed to execute job due to class or resource loading exception (make sure that task originating node is still in grid and requested class is in the task class path) [jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=com.testlab.lab.App$$Lambda$8/1801021153, dep=SharedDeployment [rmv=false, super=GridDeployment [ts=1478658022081, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, userVer=0, loc=false, sampleClsName=com.testlab.lab.App$$Lambda$8/1801021153, pendingUndeploy=false, undeployed=false, usage=1]], taskClsName=com.testlab.lab.App$$Lambda$8/1801021153, sesId=a8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, startTime=1478658021823, endTime=9223372036854775807, taskNodeId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsLdr=GridDeploymentClassLoader [id=03722e64851-6dfe9b10-400c-48c7-85b3-ae6fe48236dc, singleNode=false, nodeLdrMap={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, subjId=8ae79cf0-61ea-498b-a2b3-550b9a16f637, mapFut=IgniteFuture [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1478658022092, endTime=0, ignoreInterrupts=false, state=INIT]]], jobId=b8ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637]] 
        at org.apache.ignite.internal.processors.job.GridJobWorker.handleThrowable(GridJobWorker.java:595) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:551) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) 
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1161) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1766) 
        ... 7 more 
Caused by: java.lang.NoClassDefFoundError: com/testlab/api/inf/dao/RepositoryDao 
        at com.testlab.lab.App.lambda$compute$eaa7aa4d$1(App.java:45) 
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2006) 
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) 
        ... 11 more 
Caused by: java.lang.ClassNotFoundException: Failed to peer load class [class=com.testlab.api.inf.dao.RepositoryDao, nodeClsLdrs={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, parentClsLoader=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:661) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:509) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441) 
        ... 16 more 
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading request to node (is node alive?) [node=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsName=com.testlab.api.inf.dao.RepositoryDao, clsPath=com/testlab/api/inf/dao/RepositoryDao.class, clsLdrId=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:614) 
        ... 19 more 

java.lang.NoClassDefFoundError: com/testlab/api/inf/dao/RepositoryDao 

        at com.testlab.lab.App.lambda$compute$eaa7aa4d$1(App.java:45) 
        at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2V2.execute(GridClosureProcessor.java:2006) 
        at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) 
        at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6521) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) 
        at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) 
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1161) 
        at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1766) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) 
        at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) 
        at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
        at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: Failed to peer load class [class=com.testlab.api.inf.dao.RepositoryDao, nodeClsLdrs={8ae79cf0-61ea-498b-a2b3-550b9a16f637=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637}, parentClsLoader=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:661) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:509) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:441) 
        ... 16 more 
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading request to node (is node alive?) [node=8ae79cf0-61ea-498b-a2b3-550b9a16f637, clsName=com.testlab.api.inf.dao.RepositoryDao, clsPath=com/testlab/api/inf/dao/RepositoryDao.class, clsLdrId=08ac2e64851-8ae79cf0-61ea-498b-a2b3-550b9a16f637, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2] 
        at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:614) 
        ... 19 more 

1 个答案:

答案 0 :(得分:0)

服务器上出现异常后会出现此消息:

[10:20:37] Topology snapshot [ver=57, servers=1, clients=0, CPUs=4, heap=1.0GB]

这实际上意味着客户端由于某种原因而离开,因此服务器无法从中请求该类。检查客户端日志以找出原因。