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

Semen Boikov updated IGNITE-2359:
---------------------------------
    Fix Version/s: 1.6

> 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
>            Assignee: Semen Boikov
>            Priority: Critical
>             Fix For: 1.6
>
>
> 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)

Reply via email to