[ 
https://issues.apache.org/jira/browse/IGNITE-5066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-5066:
-----------------------------------
    Description: 
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.

  was:
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.


> .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)

Reply via email to