Denis Magda created IGNITE-2359: ----------------------------------- Summary: Race in MarshallerContextImpl when working with files that store "id->clsName" mapping Key: IGNITE-2359 URL: https://issues.apache.org/jira/browse/IGNITE-2359 Project: Ignite Issue Type: Bug Components: cache Affects Versions: ignite-1.4 Reporter: Denis Magda Priority: Critical
There is a possible race that happens when several nodes are being started on the same box and try to preload 'clsName' for 'id' from a file stored in a work directory. {noformat} Caused by: javax.cache.integration.CacheLoaderException: java.lang.NullPointerException: Ouch! Argument cannot be null: val at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:509) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.localLoadCache(GridCacheAdapter.java:3442) at org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.localLoadCache(GridDhtCacheAdapter.java:448) at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.localLoadCache(IgniteCacheProxy.java:372) at com.jefco.portfoliotrading.gets.loader.GGLifecycleBean.loadCache(GGLifecycleBean.java:69) at com.jefco.portfoliotrading.gets.loader.GGLifecycleBean.onLifecycleEvent(GGLifecycleBean.java:48) at org.apache.ignite.internal.IgniteKernal.notifyLifecycleBeans(IgniteKernal.java:620) ... 8 more Caused by: java.lang.NullPointerException: Ouch! Argument cannot be null: val at org.apache.ignite.internal.util.GridArgumentCheck.notNull(GridArgumentCheck.java:48) at org.apache.ignite.internal.util.GridArgumentCheck.notNull(GridArgumentCheck.java:61) at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.tryPutIfAbsent(GridDhtAtomicCache.java:394) at org.apache.ignite.internal.MarshallerContextImpl.registerClassName(MarshallerContextImpl.java:114) at org.apache.ignite.internal.MarshallerContextImpl.className(MarshallerContextImpl.java:165) at org.apache.ignite.internal.MarshallerContextAdapter.getClass(MarshallerContextAdapter.java:174) at org.apache.ignite.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:256) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:309) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readArrayList(OptimizedObjectInputStream.java:602) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:281) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) at com.jefco.portfoliotrading.gets.common.CumExec.readExternal(CumExec.java:273) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:514) at org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:803) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:315) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) at org.apache.ignite.lang.IgniteBiTuple.readExternal(IgniteBiTuple.java:276) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:514) at org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:803) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:315) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) at org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:240) at org.gridgain.grid.internal.processors.cache.store.local.CacheFileLocalStoreFileManager$3.apply(CacheFileLocalStoreFileManager.java:1041) at org.gridgain.grid.internal.processors.cache.store.local.CacheFileLocalStoreMap.iterate(CacheFileLocalStoreMap.java:450) at org.gridgain.grid.internal.processors.cache.store.local.CacheFileLocalStoreStripedMap.iterate(CacheFileLocalStoreStripedMap.java:214) at org.gridgain.grid.internal.processors.cache.store.local.CacheFileLocalStoreFileManager.loadAll(CacheFileLocalStoreFileManager.java:1033) at org.gridgain.grid.cache.store.local.CacheFileLocalStore.loadCache(CacheFileLocalStore.java:581) at org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:483) ... 14 more {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)