[ 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)