Description
The problem can be reproduced only if you replace the existing value in a cache inside pessimistic transaction and server node doesn't have the class for the value which the node already has in the cache.
The reproducer is attached, please make sure that you run server node without model class in class path.
Stack trace:
[2018-10-10 10:16:31,828][ERROR][pub-#52%grid_0%][GridJobWorker] Failed to execute job [jobId=07acafe5661-c681a6d3-e7ab-4516-9931-e817e77cac5b, ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=class_not_found.SimpleTest$Task, dep=GridDeployment [ts=1539191791633, depMode=SHARED, clsLdr=GridDeploymentClassLoader [id=db2aafe5661-f793ea41-94c4-4ae0-8276-8cc771e48fa9, singleNode=false, nodeLdrMap=HashMap {c681a6d3-e7ab-4516-9931-e817e77cac5b=96acafe5661-c681a6d3-e7ab-4516-9931-e817e77cac5b}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], clsLdrId=db2aafe5661-f793ea41-94c4-4ae0-8276-8cc771e48fa9, userVer=0, loc=false, sampleClsName=class_not_found.SimpleTest$Task, pendingUndeploy=false, undeployed=false, usage=1]SharedDeployment [rmv=false, super=], taskClsName=class_not_found.SimpleTest$Task, sesId=f6acafe5661-c681a6d3-e7ab-4516-9931-e817e77cac5b, startTime=1539191791465, endTime=9223372036854775807, taskNodeId=c681a6d3-e7ab-4516-9931-e817e77cac5b, clsLdr=GridDeploymentClassLoader [id=db2aafe5661-f793ea41-94c4-4ae0-8276-8cc771e48fa9, singleNode=false, nodeLdrMap=HashMap {c681a6d3-e7ab-4516-9931-e817e77cac5b=96acafe5661-c681a6d3-e7ab-4516-9931-e817e77cac5b}, p2pTimeout=5000, usrVer=0, depMode=SHARED, quiet=false], closed=false, cpSpi=null, failSpi=null, loadSpi=null, usage=1, fullSup=false, internal=false, topPred=null, subjId=c681a6d3-e7ab-4516-9931-e817e77cac5b, mapFut=GridFutureAdapter [ignoreInterrupts=false, state=INIT, res=null, hash=550280323]IgniteFuture [orig=], execName=null], jobId=07acafe5661-c681a6d3-e7ab-4516-9931-e817e77cac5b]] class org.apache.ignite.IgniteException: class_not_found.SimpleTest$MyDomainObject at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1858) at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:568) at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6797) at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:562) at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:491) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1191) at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1923) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197) at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127) at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException: class_not_found.SimpleTest$MyDomainObject at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:707) at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1757) at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1716) at org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798) at org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:143) at org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinary(CacheObjectUtils.java:177) at org.apache.ignite.internal.processors.cache.CacheObjectUtils.unwrapBinaryIfNeeded(CacheObjectUtils.java:67) at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:125) at org.apache.ignite.internal.processors.cache.GridCacheReturn.initValue(GridCacheReturn.java:197) at org.apache.ignite.internal.processors.cache.GridCacheReturn.value(GridCacheReturn.java:157) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.postLockWrite(IgniteTxLocalAdapter.java:1294) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.access$200(GridNearTxLocal.java:133) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$2.postLock(GridNearTxLocal.java:655) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$2.postLock(GridNearTxLocal.java:648) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter$PostLockClosure1.apply(IgniteTxLocalAdapter.java:1860) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.putAsync0(GridNearTxLocal.java:671) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.putAsync(GridNearTxLocal.java:447) at org.apache.ignite.internal.processors.cache.GridCacheAdapter$22.op(GridCacheAdapter.java:2470) at org.apache.ignite.internal.processors.cache.GridCacheAdapter$22.op(GridCacheAdapter.java:2468) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4287) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:2468) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2449) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.replace(GridCacheAdapter.java:2896) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.replace(IgniteCacheProxyImpl.java:1278) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.replace(GatewayProtectedCacheProxy.java:1012) at class_not_found.SimpleTest$Task.call(SimpleTest.java:140) at class_not_found.SimpleTest$Task.call(SimpleTest.java:121) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1855) ... 14 more Caused by: java.lang.ClassNotFoundException: class_not_found.SimpleTest$MyDomainObject at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8741) at org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349) at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:698) ... 41 more
Attachments
Attachments
Issue Links
- relates to
-
IGNITE-8941 BinaryInvalidTypeException is thrown on invoke
- Open