You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Charlin S <Ch...@hotelhub.com> on 2021/01/05 06:51:07 UTC
Requesting mapping from grid failed issue with Ignite 2.9.0 and C#
model with ICloneable interface but same was working with Ignite 2.8.1
Hi,
i'm getting exception on when a new record is added, which was working till
ignite 2.8.1
This issue seems to be with Ignite 2.9.0 and Ignite 2.9.1
The c# code is below:
void Main()
{
A a = new A();
}
public class A
{
public A()
{
IgniteConfiguration igniteGridIg = new IgniteConfiguration();
igniteGridIg.AutoGenerateIgniteInstanceName = true;
igniteGridIg.IgniteHome =
@"D:\Software\apache-ignite-2.9.1-bin";
igniteGridIg.SpringConfigUrl =
Path.Combine(@"D:\IgniteConfig\",
"common_dynamiccache_client_config_2.9.1.xml");
igniteGridIg.ConsistentId = Guid.NewGuid().ToString().ToUpper();
IIgnite StaticGrid_Dev = Ignition.Start(igniteGridIg);
TestModel29WithICloneable model = new TestModel29WithICloneable();
model.TestField1 = "11";
model.TestField2 = "22";
ICache<string, TestModel29WithICloneable>
TestModel29WithICloneableICache=null;
CacheConfiguration cgTest = new
CacheConfiguration("TestModel29WithICloneable", new
QueryEntity(typeof(string), typeof(TestModel29WithICloneable)));
cgTest.CopyOnRead = false;
cgTest.EagerTtl = true;
cgTest.Backups = 1;
var cacheName = StaticGrid_Dev.GetOrCreateCache<string,
object>(cgTest).WithExpiryPolicy(new ExpiryPolicy(
TimeSpan.FromSeconds(3600),
TimeSpan.FromSeconds(3600),
TimeSpan.FromSeconds(3600)
));
cacheName.Put("TestModel29WithICloneable:Test|0100010test2", model);
//Console.Write(cacheName);
Ignition.StopAll(true);
}
}
Model class:
public class TestModel29WithICloneable : ICloneable, IBinarizable
{
public TestModel29WithICloneable Copy()
{
return (TestModel29WithICloneable)this.MemberwiseClone();
}
public object Clone()
{
var clone = this.MemberwiseClone();
return clone;
}
public string TestField1 { get; set; }
public string TestField2 { get; set; }
public string TestField3 { get; set; }
public void ReadBinary(IBinaryReader reader)
{
if (reader != null)
{
TestField1 = reader.ReadString("testfield1");
TestField2 = reader.ReadString("testfield2");
TestField3 = reader.ReadString("testfield3");
}
}
public void WriteBinary(IBinaryWriter writer)
{
if (writer != null)
{
writer.WriteString("testfield1", TestField1);
writer.WriteString("testfield2", TestField2);
writer.WriteString("testfield3", TestField3);
}
}
}
Result :
javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException:
Requesting mapping from grid failed for [platformId=0, typeId=1876507903]
at
org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1270)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2083)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1319)
at
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:856)
at
org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:839)
at
org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)
Caused by: class org.apache.ignite.IgniteCheckedException: Requesting
mapping from grid failed for [platformId=0, typeId=1876507903]
at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7563)
at
org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1910)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapSingleUpdate(GridNearAtomicSingleUpdateFuture.java:555)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:457)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:446)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:249)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1178)
at
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:626)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
at
org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
at
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
... 3 more
Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
Requesting mapping from grid failed for [platformId=0, typeId=1876507903]
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:689)
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:796)
at
org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
at
org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateProps(QueryTypeDescriptorImpl.java:613)
at
org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:587)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.validateKeyAndValue(GridQueryProcessor.java:3552)
at
org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1907)
... 12 more
Caused by: java.lang.ClassNotFoundException: Requesting mapping from grid
failed for [platformId=0, typeId=1876507903]
at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:429)
at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:384)
at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:371)
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:680)
Regards
Charlin
Re: Requesting mapping from grid failed issue with Ignite 2.9.0 and
C# model with ICloneable interface but same was working with Ignite 2.8.1
Posted by Charlin S <Ch...@hotelhub.com>.
Hi Pavel,
This has worked for me by adding [QuerySqlField] for all fields. Thank you
much.
Thanks & Regards,
Charlin
On Tue, 5 Jan 2021 at 14:05, Pavel Tupitsyn <pt...@apache.org> wrote:
> Hi Charlin,
>
> I've filed a bug [1]
>
> However, it looks like [QuerySqlField] attributes are missing on
> TestModel29WithICloneable properties.
> To make your model queryable with SQL/LINQ, make sure to mark some or all
> properties like this:
>
> public class TestModel29WithICloneable : ICloneable, IBinarizable
> {
> [QuerySqlField]
> public string TestField1 { get; set; }
>
> [QuerySqlField]
> public string TestField2 { get; set; }
>
> [QuerySqlField]
> public string TestField3 { get; set; }
> ...
> }
>
> This will get rid of the exception (which is still a bug, but for a weird
> use case when no SQL fields are defined).
>
> Thanks,
> Pavel
>
> [1] https://issues.apache.org/jira/browse/IGNITE-13957
>
> On Tue, Jan 5, 2021 at 10:28 AM Ilya Kazakov <ka...@gmail.com>
> wrote:
>
>> Hello, Charlin!
>>
>> Try to enable peer class loading:
>> https://ignite.apache.org/docs/latest/code-deployment/peer-class-loading
>>
>> ----------------------
>> Ilya Kazakov
>>
>> вт, 5 янв. 2021 г. в 14:52, Charlin S <Ch...@hotelhub.com>:
>>
>>> Hi,
>>>
>>> i'm getting exception on when a new record is added, which was working
>>> till ignite 2.8.1
>>> This issue seems to be with Ignite 2.9.0 and Ignite 2.9.1
>>> The c# code is below:
>>> void Main()
>>> {
>>> A a = new A();
>>> }
>>>
>>> public class A
>>> {
>>> public A()
>>> {
>>>
>>> IgniteConfiguration igniteGridIg = new IgniteConfiguration();
>>> igniteGridIg.AutoGenerateIgniteInstanceName = true;
>>> igniteGridIg.IgniteHome =
>>> @"D:\Software\apache-ignite-2.9.1-bin";
>>> igniteGridIg.SpringConfigUrl =
>>> Path.Combine(@"D:\IgniteConfig\",
>>> "common_dynamiccache_client_config_2.9.1.xml");
>>> igniteGridIg.ConsistentId =
>>> Guid.NewGuid().ToString().ToUpper();
>>>
>>> IIgnite StaticGrid_Dev = Ignition.Start(igniteGridIg);
>>> TestModel29WithICloneable model = new TestModel29WithICloneable();
>>>
>>> model.TestField1 = "11";
>>> model.TestField2 = "22";
>>>
>>> ICache<string, TestModel29WithICloneable>
>>> TestModel29WithICloneableICache=null;
>>> CacheConfiguration cgTest = new
>>> CacheConfiguration("TestModel29WithICloneable", new
>>> QueryEntity(typeof(string), typeof(TestModel29WithICloneable)));
>>> cgTest.CopyOnRead = false;
>>> cgTest.EagerTtl = true;
>>> cgTest.Backups = 1;
>>>
>>> var cacheName = StaticGrid_Dev.GetOrCreateCache<string,
>>> object>(cgTest).WithExpiryPolicy(new ExpiryPolicy(
>>> TimeSpan.FromSeconds(3600),
>>> TimeSpan.FromSeconds(3600),
>>> TimeSpan.FromSeconds(3600)
>>> ));
>>>
>>> cacheName.Put("TestModel29WithICloneable:Test|0100010test2", model);
>>>
>>> //Console.Write(cacheName);
>>> Ignition.StopAll(true);
>>> }
>>> }
>>>
>>>
>>> Model class:
>>> public class TestModel29WithICloneable : ICloneable, IBinarizable
>>> {
>>> public TestModel29WithICloneable Copy()
>>> {
>>> return (TestModel29WithICloneable)this.MemberwiseClone();
>>> }
>>>
>>> public object Clone()
>>> {
>>> var clone = this.MemberwiseClone();
>>> return clone;
>>> }
>>> public string TestField1 { get; set; }
>>> public string TestField2 { get; set; }
>>> public string TestField3 { get; set; }
>>>
>>> public void ReadBinary(IBinaryReader reader)
>>> {
>>> if (reader != null)
>>> {
>>> TestField1 = reader.ReadString("testfield1");
>>> TestField2 = reader.ReadString("testfield2");
>>> TestField3 = reader.ReadString("testfield3");
>>> }
>>> }
>>>
>>> public void WriteBinary(IBinaryWriter writer)
>>> {
>>> if (writer != null)
>>> {
>>> writer.WriteString("testfield1", TestField1);
>>> writer.WriteString("testfield2", TestField2);
>>> writer.WriteString("testfield3", TestField3);
>>> }
>>> }
>>> }
>>>
>>> Result :
>>> javax.cache.CacheException: class
>>> org.apache.ignite.IgniteCheckedException: Requesting mapping from grid
>>> failed for [platformId=0, typeId=1876507903]
>>> at
>>> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1270)
>>> at
>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2083)
>>> at
>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1319)
>>> at
>>> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:856)
>>> at
>>> org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:839)
>>> at
>>> org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)
>>> Caused by: class org.apache.ignite.IgniteCheckedException: Requesting
>>> mapping from grid failed for [platformId=0, typeId=1876507903]
>>> at
>>> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7563)
>>> at
>>> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1910)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapSingleUpdate(GridNearAtomicSingleUpdateFuture.java:555)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:457)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:446)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:249)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1178)
>>> at
>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:626)
>>> at
>>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
>>> at
>>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
>>> at
>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
>>> ... 3 more
>>> Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
>>> Requesting mapping from grid failed for [platformId=0, typeId=1876507903]
>>> at
>>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:689)
>>> 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:796)
>>> at
>>> org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
>>> at
>>> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateProps(QueryTypeDescriptorImpl.java:613)
>>> at
>>> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:587)
>>> at
>>> org.apache.ignite.internal.processors.query.GridQueryProcessor.validateKeyAndValue(GridQueryProcessor.java:3552)
>>> at
>>> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1907)
>>> ... 12 more
>>> Caused by: java.lang.ClassNotFoundException: Requesting mapping from
>>> grid failed for [platformId=0, typeId=1876507903]
>>> at
>>> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:429)
>>> at
>>> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:384)
>>> at
>>> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:371)
>>> at
>>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:680)
>>>
>>>
>>> Regards
>>> Charlin
>>>
>>
Re: Requesting mapping from grid failed issue with Ignite 2.9.0 and
C# model with ICloneable interface but same was working with Ignite 2.8.1
Posted by Pavel Tupitsyn <pt...@apache.org>.
Hi Charlin,
I've filed a bug [1]
However, it looks like [QuerySqlField] attributes are missing on
TestModel29WithICloneable properties.
To make your model queryable with SQL/LINQ, make sure to mark some or all
properties like this:
public class TestModel29WithICloneable : ICloneable, IBinarizable
{
[QuerySqlField]
public string TestField1 { get; set; }
[QuerySqlField]
public string TestField2 { get; set; }
[QuerySqlField]
public string TestField3 { get; set; }
...
}
This will get rid of the exception (which is still a bug, but for a weird
use case when no SQL fields are defined).
Thanks,
Pavel
[1] https://issues.apache.org/jira/browse/IGNITE-13957
On Tue, Jan 5, 2021 at 10:28 AM Ilya Kazakov <ka...@gmail.com> wrote:
> Hello, Charlin!
>
> Try to enable peer class loading:
> https://ignite.apache.org/docs/latest/code-deployment/peer-class-loading
>
> ----------------------
> Ilya Kazakov
>
> вт, 5 янв. 2021 г. в 14:52, Charlin S <Ch...@hotelhub.com>:
>
>> Hi,
>>
>> i'm getting exception on when a new record is added, which was working
>> till ignite 2.8.1
>> This issue seems to be with Ignite 2.9.0 and Ignite 2.9.1
>> The c# code is below:
>> void Main()
>> {
>> A a = new A();
>> }
>>
>> public class A
>> {
>> public A()
>> {
>>
>> IgniteConfiguration igniteGridIg = new IgniteConfiguration();
>> igniteGridIg.AutoGenerateIgniteInstanceName = true;
>> igniteGridIg.IgniteHome =
>> @"D:\Software\apache-ignite-2.9.1-bin";
>> igniteGridIg.SpringConfigUrl =
>> Path.Combine(@"D:\IgniteConfig\",
>> "common_dynamiccache_client_config_2.9.1.xml");
>> igniteGridIg.ConsistentId =
>> Guid.NewGuid().ToString().ToUpper();
>>
>> IIgnite StaticGrid_Dev = Ignition.Start(igniteGridIg);
>> TestModel29WithICloneable model = new TestModel29WithICloneable();
>>
>> model.TestField1 = "11";
>> model.TestField2 = "22";
>>
>> ICache<string, TestModel29WithICloneable>
>> TestModel29WithICloneableICache=null;
>> CacheConfiguration cgTest = new
>> CacheConfiguration("TestModel29WithICloneable", new
>> QueryEntity(typeof(string), typeof(TestModel29WithICloneable)));
>> cgTest.CopyOnRead = false;
>> cgTest.EagerTtl = true;
>> cgTest.Backups = 1;
>>
>> var cacheName = StaticGrid_Dev.GetOrCreateCache<string,
>> object>(cgTest).WithExpiryPolicy(new ExpiryPolicy(
>> TimeSpan.FromSeconds(3600),
>> TimeSpan.FromSeconds(3600),
>> TimeSpan.FromSeconds(3600)
>> ));
>>
>> cacheName.Put("TestModel29WithICloneable:Test|0100010test2", model);
>>
>> //Console.Write(cacheName);
>> Ignition.StopAll(true);
>> }
>> }
>>
>>
>> Model class:
>> public class TestModel29WithICloneable : ICloneable, IBinarizable
>> {
>> public TestModel29WithICloneable Copy()
>> {
>> return (TestModel29WithICloneable)this.MemberwiseClone();
>> }
>>
>> public object Clone()
>> {
>> var clone = this.MemberwiseClone();
>> return clone;
>> }
>> public string TestField1 { get; set; }
>> public string TestField2 { get; set; }
>> public string TestField3 { get; set; }
>>
>> public void ReadBinary(IBinaryReader reader)
>> {
>> if (reader != null)
>> {
>> TestField1 = reader.ReadString("testfield1");
>> TestField2 = reader.ReadString("testfield2");
>> TestField3 = reader.ReadString("testfield3");
>> }
>> }
>>
>> public void WriteBinary(IBinaryWriter writer)
>> {
>> if (writer != null)
>> {
>> writer.WriteString("testfield1", TestField1);
>> writer.WriteString("testfield2", TestField2);
>> writer.WriteString("testfield3", TestField3);
>> }
>> }
>> }
>>
>> Result :
>> javax.cache.CacheException: class
>> org.apache.ignite.IgniteCheckedException: Requesting mapping from grid
>> failed for [platformId=0, typeId=1876507903]
>> at
>> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1270)
>> at
>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2083)
>> at
>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1319)
>> at
>> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:856)
>> at
>> org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:839)
>> at
>> org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)
>> Caused by: class org.apache.ignite.IgniteCheckedException: Requesting
>> mapping from grid failed for [platformId=0, typeId=1876507903]
>> at
>> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7563)
>> at
>> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1910)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapSingleUpdate(GridNearAtomicSingleUpdateFuture.java:555)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:457)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:446)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:249)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1178)
>> at
>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:626)
>> at
>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
>> at
>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
>> at
>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
>> ... 3 more
>> Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
>> Requesting mapping from grid failed for [platformId=0, typeId=1876507903]
>> at
>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:689)
>> 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:796)
>> at
>> org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
>> at
>> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateProps(QueryTypeDescriptorImpl.java:613)
>> at
>> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:587)
>> at
>> org.apache.ignite.internal.processors.query.GridQueryProcessor.validateKeyAndValue(GridQueryProcessor.java:3552)
>> at
>> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1907)
>> ... 12 more
>> Caused by: java.lang.ClassNotFoundException: Requesting mapping from grid
>> failed for [platformId=0, typeId=1876507903]
>> at
>> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:429)
>> at
>> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:384)
>> at
>> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:371)
>> at
>> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:680)
>>
>>
>> Regards
>> Charlin
>>
>
Re: Requesting mapping from grid failed issue with Ignite 2.9.0 and
C# model with ICloneable interface but same was working with Ignite 2.8.1
Posted by Ilya Kazakov <ka...@gmail.com>.
Hello, Charlin!
Try to enable peer class loading:
https://ignite.apache.org/docs/latest/code-deployment/peer-class-loading
----------------------
Ilya Kazakov
вт, 5 янв. 2021 г. в 14:52, Charlin S <Ch...@hotelhub.com>:
> Hi,
>
> i'm getting exception on when a new record is added, which was working
> till ignite 2.8.1
> This issue seems to be with Ignite 2.9.0 and Ignite 2.9.1
> The c# code is below:
> void Main()
> {
> A a = new A();
> }
>
> public class A
> {
> public A()
> {
>
> IgniteConfiguration igniteGridIg = new IgniteConfiguration();
> igniteGridIg.AutoGenerateIgniteInstanceName = true;
> igniteGridIg.IgniteHome =
> @"D:\Software\apache-ignite-2.9.1-bin";
> igniteGridIg.SpringConfigUrl =
> Path.Combine(@"D:\IgniteConfig\",
> "common_dynamiccache_client_config_2.9.1.xml");
> igniteGridIg.ConsistentId =
> Guid.NewGuid().ToString().ToUpper();
>
> IIgnite StaticGrid_Dev = Ignition.Start(igniteGridIg);
> TestModel29WithICloneable model = new TestModel29WithICloneable();
>
> model.TestField1 = "11";
> model.TestField2 = "22";
>
> ICache<string, TestModel29WithICloneable>
> TestModel29WithICloneableICache=null;
> CacheConfiguration cgTest = new
> CacheConfiguration("TestModel29WithICloneable", new
> QueryEntity(typeof(string), typeof(TestModel29WithICloneable)));
> cgTest.CopyOnRead = false;
> cgTest.EagerTtl = true;
> cgTest.Backups = 1;
>
> var cacheName = StaticGrid_Dev.GetOrCreateCache<string,
> object>(cgTest).WithExpiryPolicy(new ExpiryPolicy(
> TimeSpan.FromSeconds(3600),
> TimeSpan.FromSeconds(3600),
> TimeSpan.FromSeconds(3600)
> ));
>
> cacheName.Put("TestModel29WithICloneable:Test|0100010test2", model);
>
> //Console.Write(cacheName);
> Ignition.StopAll(true);
> }
> }
>
>
> Model class:
> public class TestModel29WithICloneable : ICloneable, IBinarizable
> {
> public TestModel29WithICloneable Copy()
> {
> return (TestModel29WithICloneable)this.MemberwiseClone();
> }
>
> public object Clone()
> {
> var clone = this.MemberwiseClone();
> return clone;
> }
> public string TestField1 { get; set; }
> public string TestField2 { get; set; }
> public string TestField3 { get; set; }
>
> public void ReadBinary(IBinaryReader reader)
> {
> if (reader != null)
> {
> TestField1 = reader.ReadString("testfield1");
> TestField2 = reader.ReadString("testfield2");
> TestField3 = reader.ReadString("testfield3");
> }
> }
>
> public void WriteBinary(IBinaryWriter writer)
> {
> if (writer != null)
> {
> writer.WriteString("testfield1", TestField1);
> writer.WriteString("testfield2", TestField2);
> writer.WriteString("testfield3", TestField3);
> }
> }
> }
>
> Result :
> javax.cache.CacheException: class
> org.apache.ignite.IgniteCheckedException: Requesting mapping from grid
> failed for [platformId=0, typeId=1876507903]
> at
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1270)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2083)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1319)
> at
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:856)
> at
> org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:839)
> at
> org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:67)
> Caused by: class org.apache.ignite.IgniteCheckedException: Requesting
> mapping from grid failed for [platformId=0, typeId=1876507903]
> at
> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7563)
> at
> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1910)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapSingleUpdate(GridNearAtomicSingleUpdateFuture.java:555)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:457)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:446)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:249)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1178)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:626)
> at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
> at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
> ... 3 more
> Caused by: class org.apache.ignite.binary.BinaryInvalidTypeException:
> Requesting mapping from grid failed for [platformId=0, typeId=1876507903]
> at
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:689)
> 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:796)
> at
> org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
> at
> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateProps(QueryTypeDescriptorImpl.java:613)
> at
> org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl.validateKeyAndValue(QueryTypeDescriptorImpl.java:587)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.validateKeyAndValue(GridQueryProcessor.java:3552)
> at
> org.apache.ignite.internal.processors.cache.GridCacheContext.validateKeyAndValue(GridCacheContext.java:1907)
> ... 12 more
> Caused by: java.lang.ClassNotFoundException: Requesting mapping from grid
> failed for [platformId=0, typeId=1876507903]
> at
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:429)
> at
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:384)
> at
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:371)
> at
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:680)
>
>
> Regards
> Charlin
>