[ https://issues.apache.org/jira/browse/IGNITE-5066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Tupitsyn resolved IGNITE-5066. ------------------------------------ Resolution: Fixed > .NET: Continuous query fails with exception on Java side > -------------------------------------------------------- > > Key: IGNITE-5066 > URL: https://issues.apache.org/jira/browse/IGNITE-5066 > Project: Ignite > Issue Type: Bug > Components: platforms > Affects Versions: 1.9 > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Reported by the user, simple program being run twice: > {code} > using (IIgnite ignite = Ignition.Start(config)) > { > var cache = ignite.GetOrCreateCache<Guid, Data>(nameof(Data)); > cache.QueryContinuous(new ContinuousQuery<Guid, Data>(new > Listener())); > > // Pressing any key in the console will add a value to the > cache > while (true) > { > Console.ReadKey(); > var entry = new Data() { Id = Guid.NewGuid(), Value = "a > value" }; > cache.Put(entry.Id, entry); > } > } > {code} > Causes exceptions on Java side: > {code} > Exception in thread "sys-#44%null%" > javax.cache.event.CacheEntryListenerException: Failed resolve class for ID: > 3076010 > at > org.apache.ignite.internal.processors.platform.utils.PlatformUtils.toCacheEntryListenerException(PlatformUtils.java:593) > at > org.apache.ignite.internal.processors.platform.utils.PlatformUtils.applyContinuousQueryEvents(PlatformUtils.java:551) > at > org.apache.ignite.internal.processors.platform.cache.query.PlatformContinuousQueryImpl.onUpdated(PlatformContinuousQueryImpl.java:200) > at > org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.notifyCallback0(CacheContinuousQueryHandler.java:705) > at > org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.notifyCallback(CacheContinuousQueryHandler.java:650) > at > org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processNotification(GridContinuousProcessor.java:1089) > at > org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$2000(GridContinuousProcessor.java:97) > at > org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$8.onMessage(GridContinuousProcessor.java:741) > at > org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1222) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$2000(GridIoManager.java:108) > at > org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2443) > at > org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1182) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$2300(GridIoManager.java:108) > at > org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1151) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed > resolve class for ID: 3076010 > at > org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:699) > at > org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1491) > at > org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1450) > at > org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:637) > at > org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142) > at > org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinary(CacheObjectContext.java:272) > at > org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:160) > at > org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryEvent.getValue(CacheContinuousQueryEvent.java:73) > at > org.apache.ignite.internal.processors.platform.utils.PlatformUtils.writeCacheEntryEvent(PlatformUtils.java:606) > at > org.apache.ignite.internal.processors.platform.utils.PlatformUtils.applyContinuousQueryEvents(PlatformUtils.java:539) > ... 15 more > Caused by: class org.apache.ignite.IgniteCheckedException: Class definition > was not found at marshaller cache and local file. [id=3076010, > file=C:\Users\USER\AppData\Local\Temp\ignite\work\marshaller\3076010.classname] > at > org.apache.ignite.internal.MarshallerContextImpl.className(MarshallerContextImpl.java:218) > at > org.apache.ignite.internal.MarshallerContextAdapter.getClass(MarshallerContextAdapter.java:174) > at > org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:683) > {code} > For some reason Java tries to deserialize .NET value. > There is no exception on .NET side, but events are not delivered. -- This message was sent by Atlassian JIRA (v6.3.15#6346)