You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Denis Magda (JIRA)" <ji...@apache.org> on 2016/01/12 07:27:40 UTC

[jira] [Created] (IGNITE-2359) Race in MarshallerContextImpl when working with files that store "id->clsName" mapping

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)