4

The following error occurred while inserting a pojoClass object on a string key. I have included all event types in the Ignite configuration.

I have tried setStoreKeepBinary(true) and also tried igniteConfiguration.setPeerClassLoadingEnabled(true) but the error isn't solved.

I'm using Apache Ignite version 2.1.

Error logs:

[2017-09-06 16:22:08,043][ERROR][tcp-client-disco-msg-worker-#4%null%]     [TcpDiscoverySpi] Failed to unmarshal discovery data for component: 0
class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@75b84c92
    at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:129)
    at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94)
    at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:143)
    at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
    at org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:274)
    at org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:131)
    at org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1820)
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:1985)
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:1864)
    at org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1758)
    at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
Caused by: java.io.InvalidObjectException: Failed to find cache for name: CACHE
    at org.apache.ignite.internal.processors.cache.GridCacheContext.readResolve(GridCacheContext.java:2139)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1148)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2036)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.readExternal(IgniteCacheProxy.java:2782)
    at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2025)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2245)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2125)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2027)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2245)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2125)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2027)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    at org.apache.ignite.internal.GridEventConsumeHandler.readExternal(GridEventConsumeHandler.java:452)
    at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2025)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$DiscoveryDataItem.readExternal(GridContinuousProcessor.java:1812)
    at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2025)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    at org.apache.ignite.internal.util.IgniteUtils.readList(IgniteUtils.java:5299)
    at org.apache.ignite.internal.util.IgniteUtils.readCollection(IgniteUtils.java:1739)
    at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$DiscoveryData.readExternal(GridContinuousProcessor.java:1727)
    at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2076)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2025)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
    at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:121)
    ... 10 more
Caused by: java.lang.IllegalStateException: Failed to find cache for name: CACHE
    at org.apache.ignite.internal.processors.cache.GridCacheContext.readResolve(GridCacheContext.java:2134)
    ... 49 more

Cache Configurations :

  CacheConfiguration<String, pojoClass> cacheConfig = new CacheConfiguration<>();
            cacheConfig.setName("CACHE");
            cacheConfig.setBackups(2);
            cacheConfig.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
            cacheConfig.setIndexedTypes(String.class, pojoClass.class);
        //  cacheConfig.setStoreKeepBinary(true);
            IgniteCache<String, pojoClass> Cache = ignite.getOrCreateCache(cacheConfig);

code While inserting pojoClass object :

PojoClass pojoObj = new PojoClass(key, name,jsonObject);
Cache.put(key, pojoObj);    

here PojoClass is :

public class PojoClass{
@QuerySqlField
String key;
@QuerySqlField
String name;
@QuerySqlField
JSONObject jsonObject;
public PojoClass(String key, String name,JSONObject jsonObject) {
        this.key = key;
        this.name = name;
        this.jsonObject = jsonObject;
   }
}
Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Rhishi
  • 275
  • 2
  • 14
  • Please add code when you inserting pojoClass object on string key. Full reproducer will be helpful – Evgenii Zhuravlev Sep 06 '17 at 11:26
  • I have mention it, Please check. – Rhishi Sep 06 '17 at 11:37
  • Are you sure that you run cache put from the same node and not inside Job or task? Could you share reproducer? – Evgenii Zhuravlev Sep 07 '17 at 07:33
  • Yes, I am using same node to put data. Can you elaborate about "share reproducer"? – Rhishi Sep 07 '17 at 07:45
  • As you can understand, if you simply create Cache and right after it put some data in it, everything should work - there are a lot of tests for it. I'm asking you to write a small reproducer - for example, one java file, that will show behavior that you describe – Evgenii Zhuravlev Sep 07 '17 at 07:56
  • I have tried but this Error is not producing in sample program. – Rhishi Sep 08 '17 at 11:56
  • So, that means that you have a wrong code and you provided a code snippet that doesn't show problem at all – Evgenii Zhuravlev Sep 08 '17 at 12:11
  • I am working on 4-5 cache and I have given snippet of the cache where that error occurred. But when I tried same operation on cache (By creating example) with same configuration then error is not occurred. – Rhishi Sep 08 '17 at 13:09
  • But when run program with combination of other cache then that error is occured. – Rhishi Sep 08 '17 at 13:13
  • So, then you should write reproducer with all caches. It's impossible to reproduce anything with data that you provided – Evgenii Zhuravlev Sep 08 '17 at 13:18
  • Above issue is resolved. This issue is occurred due to different node are used while performing operation.I was using different instance of Ignite (due to bad coding practice) . Thank you for your help. – Rhishi Sep 14 '17 at 04:32

1 Answers1

1

Error is solved after using same instance of Ignite while creating cache and performing Event functionality I was using different Ignite instance that was above issue occurs.

Rhishi
  • 275
  • 2
  • 14