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

Artem Shutak updated IGNITE-2506:
---------------------------------
    Description: 
A damon node with binary marshaller hangs on unmarshalling of a user class.

As a POC, {{IgniteDaemonNodeMarshallerCacheTest}} test hangs if 
{{GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, 
BinaryMarshaller.class.getName());}}.

Test hangs here:
{noformat}
"test-runner-#1%cache.IgniteDaemonNodeMarshallerCacheTest%" prio=10 
tid=0x00007f588c577000 nid=0x4d02 waiting on condition [0x00007f5871b98000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007b5dd0a28> (a 
org.apache.ignite.internal.ComputeTaskInternalFuture)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
        at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:159)
        at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:117)
        at 
org.apache.ignite.internal.AsyncSupportAdapter.saveOrGet(AsyncSupportAdapter.java:112)
        at 
org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:352)
        at 
org.apache.ignite.internal.processors.cache.IgniteDaemonNodeMarshallerCacheTest.marshalOnDaemonNode(IgniteDaemonNodeMarshallerCacheTest.java:122)
        at 
org.apache.ignite.internal.processors.cache.IgniteDaemonNodeMarshallerCacheTest.testMarshalOnDaemonNode1(IgniteDaemonNodeMarshallerCacheTest.java:76)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at junit.framework.TestCase.runTest(TestCase.java:176)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1720)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:118)
        at 
org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1658)
        at java.lang.Thread.run(Thread.java:745)
{noformat}

Because Ignite doesn't start system-cache for daemon node. See:
{noformat}
"sys-#19%cache.IgniteDaemonNodeMarshallerCacheTest0%" prio=10 
tid=0x00007f5828087800 nid=0x4d14 waiting on condition [0x00007f5870986000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007b5d59a18> (a 
java.util.concurrent.CountDownLatch$Sync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
        at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
        at 
org.apache.ignite.internal.util.IgniteUtils.awaitQuiet(IgniteUtils.java:7237)
        at 
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$2.metadata(CacheObjectBinaryProcessorImpl.java:214)
        at 
org.apache.ignite.internal.binary.BinaryContext.metadata(BinaryContext.java:1022)
        at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:1667)
        at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:249)
        at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:164)
        at 
org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:151)
        at 
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:292)
        at 
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal(BinaryMarshaller.java:112)
        at 
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:768)
        at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995)
        at 
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1219)
        at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821)
        at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103)
        at 
org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
{noformat}


  was:
A daemon node with binary marshaller hangs on unmarshalling of a user class.

As a POC, {{IgniteDaemonNodeMarshallerCacheTest}} test hangs if 
{{GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, 
BinaryMarshaller.class.getName());}}.




> A daemon node with binary marshaller hangs on unmarshalling of a user class
> ---------------------------------------------------------------------------
>
>                 Key: IGNITE-2506
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2506
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 1.5.0.final
>            Reporter: Artem Shutak
>            Assignee: Artem Shutak
>
> A damon node with binary marshaller hangs on unmarshalling of a user class.
> As a POC, {{IgniteDaemonNodeMarshallerCacheTest}} test hangs if 
> {{GridTestProperties.setProperty(GridTestProperties.MARSH_CLASS_NAME, 
> BinaryMarshaller.class.getName());}}.
> Test hangs here:
> {noformat}
> "test-runner-#1%cache.IgniteDaemonNodeMarshallerCacheTest%" prio=10 
> tid=0x00007f588c577000 nid=0x4d02 waiting on condition [0x00007f5871b98000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x00000007b5dd0a28> (a 
> org.apache.ignite.internal.ComputeTaskInternalFuture)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:159)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:117)
>       at 
> org.apache.ignite.internal.AsyncSupportAdapter.saveOrGet(AsyncSupportAdapter.java:112)
>       at 
> org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:352)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteDaemonNodeMarshallerCacheTest.marshalOnDaemonNode(IgniteDaemonNodeMarshallerCacheTest.java:122)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteDaemonNodeMarshallerCacheTest.testMarshalOnDaemonNode1(IgniteDaemonNodeMarshallerCacheTest.java:76)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
>       at junit.framework.TestCase.runTest(TestCase.java:176)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1720)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:118)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1658)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}
> Because Ignite doesn't start system-cache for daemon node. See:
> {noformat}
> "sys-#19%cache.IgniteDaemonNodeMarshallerCacheTest0%" prio=10 
> tid=0x00007f5828087800 nid=0x4d14 waiting on condition [0x00007f5870986000]
>    java.lang.Thread.State: WAITING (parking)
>       at sun.misc.Unsafe.park(Native Method)
>       - parking to wait for  <0x00000007b5d59a18> (a 
> java.util.concurrent.CountDownLatch$Sync)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994)
>       at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303)
>       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.awaitQuiet(IgniteUtils.java:7237)
>       at 
> org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl$2.metadata(CacheObjectBinaryProcessorImpl.java:214)
>       at 
> org.apache.ignite.internal.binary.BinaryContext.metadata(BinaryContext.java:1022)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.getOrCreateSchema(BinaryReaderExImpl.java:1667)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:249)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:164)
>       at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.<init>(BinaryReaderExImpl.java:151)
>       at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:292)
>       at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal(BinaryMarshaller.java:112)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:768)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1219)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to