You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Cameron Braid (JIRA)" <ji...@apache.org> on 2017/04/21 07:24:04 UTC

[jira] [Updated] (IGNITE-5049) Thread blocked on Object.wait() within IgniteUtils.forName

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

Cameron Braid updated IGNITE-5049:
----------------------------------
    Description: 
I am getting blocked threads and looking at the thread dump I am seeing the following :

{code}
"DateSearchService.dateSearchExecutor.10" #222 prio=5 os_prio=0 tid=0x00007f4000aef800 nid=0xed in Object.wait() [0x00007f3ed4bc2000]
   java.lang.Thread.State: RUNNABLE
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:348)
  at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8458)
  at org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:340)
  at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:692)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1745)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
  at org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1728)
  at org.apache.ignite.internal.binary.BinaryUtils.deserializeOrUnmarshal(BinaryUtils.java:2085)
  at org.apache.ignite.internal.binary.BinaryUtils.doReadObjectArray(BinaryUtils.java:1949)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1359)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1352)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:837)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:674)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:164)
  at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:843)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1752)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
  at org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
  at org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinary(CacheObjectContext.java:273)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:161)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:148)
  at org.apache.ignite.internal.processors.cache.GridCacheContext.unwrapBinaryIfNeeded(GridCacheContext.java:1730)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.setResult(GridPartitionedSingleGetFuture.java:616)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.localGet(GridPartitionedSingleGetFuture.java:408)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.mapKeyToNode(GridPartitionedSingleGetFuture.java:329)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.map(GridPartitionedSingleGetFuture.java:214)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.init(GridPartitionedSingleGetFuture.java:206)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync0(GridDhtAtomicCache.java:1477)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$1400(GridDhtAtomicCache.java:127)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:508)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:506)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:823)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync(GridDhtAtomicCache.java:506)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get0(GridCacheAdapter.java:4495)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4476)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1407)
  at org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.get(GridCacheProxyImpl.java:329)
  at org.apache.ignite.cache.hibernate.HibernateCacheProxy.get(HibernateCacheProxy.java:142)
  at org.apache.ignite.cache.hibernate.HibernateAccessStrategyAdapter.get(HibernateAccessStrategyAdapter.java:123)
  at org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.get(HibernateAbstractRegionAccessStrategy.java:41)
  at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:55)
  at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:67)
  at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:598)
  at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:452)
  at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)
  at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:146)
  at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
  at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:1012)
  at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:174)
  at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286)
  at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
...
{code}

I have observed this using either the BinaryMarshaller, or the OptimizedMarshaller however when I use JdkMarshaller this doesn't happen

  was:
I am getting blocked threads and looking at the thread dump I am seeing the following :

{code}
"DateSearchService.dateSearchExecutor.10" #222 prio=5 os_prio=0 tid=0x00007f4000aef800 nid=0xed in Object.wait() [0x00007f3ed4bc2000]
   java.lang.Thread.State: RUNNABLE
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:348)
  at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8458)
  at org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:340)
  at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:692)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1745)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
  at org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1728)
  at org.apache.ignite.internal.binary.BinaryUtils.deserializeOrUnmarshal(BinaryUtils.java:2085)
  at org.apache.ignite.internal.binary.BinaryUtils.doReadObjectArray(BinaryUtils.java:1949)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1359)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1352)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:837)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:674)
  at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:164)
  at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:843)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1752)
  at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
  at org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
  at org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinary(CacheObjectContext.java:273)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:161)
  at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:148)
  at org.apache.ignite.internal.processors.cache.GridCacheContext.unwrapBinaryIfNeeded(GridCacheContext.java:1730)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.setResult(GridPartitionedSingleGetFuture.java:616)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.localGet(GridPartitionedSingleGetFuture.java:408)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.mapKeyToNode(GridPartitionedSingleGetFuture.java:329)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.map(GridPartitionedSingleGetFuture.java:214)
  at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.init(GridPartitionedSingleGetFuture.java:206)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync0(GridDhtAtomicCache.java:1477)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$1400(GridDhtAtomicCache.java:127)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:508)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:506)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:823)
  at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync(GridDhtAtomicCache.java:506)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get0(GridCacheAdapter.java:4495)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4476)
  at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1407)
  at org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.get(GridCacheProxyImpl.java:329)
  at org.apache.ignite.cache.hibernate.HibernateCacheProxy.get(HibernateCacheProxy.java:142)
  at org.apache.ignite.cache.hibernate.HibernateAccessStrategyAdapter.get(HibernateAccessStrategyAdapter.java:123)
  at org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.get(HibernateAbstractRegionAccessStrategy.java:41)
  at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:55)
  at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:67)
  at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:598)
  at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:452)
  at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)
  at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:146)
  at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
  at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:1012)
  at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:174)
  at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286)
  at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
...
{code}

I have observer this using either the BinaryMarshaller, or the OptimizedMarshaller however when I use JdkMarshaller this doesn't happen


> Thread blocked on Object.wait() within IgniteUtils.forName
> ----------------------------------------------------------
>
>                 Key: IGNITE-5049
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5049
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.9
>            Reporter: Cameron Braid
>
> I am getting blocked threads and looking at the thread dump I am seeing the following :
> {code}
> "DateSearchService.dateSearchExecutor.10" #222 prio=5 os_prio=0 tid=0x00007f4000aef800 nid=0xed in Object.wait() [0x00007f3ed4bc2000]
>    java.lang.Thread.State: RUNNABLE
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:348)
>   at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8458)
>   at org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:340)
>   at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:692)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1745)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
>   at org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1728)
>   at org.apache.ignite.internal.binary.BinaryUtils.deserializeOrUnmarshal(BinaryUtils.java:2085)
>   at org.apache.ignite.internal.binary.BinaryUtils.doReadObjectArray(BinaryUtils.java:1949)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1359)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.readObjectArray(BinaryReaderExImpl.java:1352)
>   at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:837)
>   at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:674)
>   at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:164)
>   at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:843)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1752)
>   at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1704)
>   at org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:794)
>   at org.apache.ignite.internal.binary.BinaryObjectImpl.value(BinaryObjectImpl.java:142)
>   at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinary(CacheObjectContext.java:273)
>   at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:161)
>   at org.apache.ignite.internal.processors.cache.CacheObjectContext.unwrapBinaryIfNeeded(CacheObjectContext.java:148)
>   at org.apache.ignite.internal.processors.cache.GridCacheContext.unwrapBinaryIfNeeded(GridCacheContext.java:1730)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.setResult(GridPartitionedSingleGetFuture.java:616)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.localGet(GridPartitionedSingleGetFuture.java:408)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.mapKeyToNode(GridPartitionedSingleGetFuture.java:329)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.map(GridPartitionedSingleGetFuture.java:214)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.GridPartitionedSingleGetFuture.init(GridPartitionedSingleGetFuture.java:206)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync0(GridDhtAtomicCache.java:1477)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$1400(GridDhtAtomicCache.java:127)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:508)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$15.apply(GridDhtAtomicCache.java:506)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:823)
>   at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.getAsync(GridDhtAtomicCache.java:506)
>   at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get0(GridCacheAdapter.java:4495)
>   at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4476)
>   at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1407)
>   at org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.get(GridCacheProxyImpl.java:329)
>   at org.apache.ignite.cache.hibernate.HibernateCacheProxy.get(HibernateCacheProxy.java:142)
>   at org.apache.ignite.cache.hibernate.HibernateAccessStrategyAdapter.get(HibernateAccessStrategyAdapter.java:123)
>   at org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.get(HibernateAbstractRegionAccessStrategy.java:41)
>   at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:55)
>   at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:67)
>   at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:598)
>   at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:452)
>   at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213)
>   at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:146)
>   at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106)
>   at org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:1012)
>   at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:174)
>   at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286)
>   at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)
> ...
> {code}
> I have observed this using either the BinaryMarshaller, or the OptimizedMarshaller however when I use JdkMarshaller this doesn't happen



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)