Andrey Gura created IGNITE-2623: ----------------------------------- Summary: [Failed test] ClientTcpMultiThreadedSelfTest.testMultithreadedTaskRun Key: IGNITE-2623 URL: https://issues.apache.org/jira/browse/IGNITE-2623 Project: Ignite Issue Type: Test Affects Versions: 1.5.0.final Reporter: Andrey Gura Assignee: Andrey Gura
{{ClientTcpMultiThreadedSelfTest.testMultithreadedTaskRun}} test fails periodically. {noformat} java.lang.Exception: class org.apache.ignite.internal.client.GridClientException: Failed to deserialize object with given class loader: IsolatedClassLoader{roleName='test'} at org.apache.ignite.internal.client.ClientAbstractMultiThreadedSelfTest.testMultithreadedTaskRun(ClientAbstractMultiThreadedSelfTest.java:279) 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:1723) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:118) at org.apache.ignite.testframework.junits.GridAbstractTest$4.run(GridAbstractTest.java:1661) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.ignite.internal.client.GridClientException: Failed to deserialize object with given class loader: IsolatedClassLoader{roleName='test'} at org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection.handleClientResponse(GridClientNioTcpConnection.java:612) at org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection.handleResponse(GridClientNioTcpConnection.java:547) at org.apache.ignite.internal.client.impl.connection.GridClientConnectionManagerAdapter$NioListener.onMessage(GridClientConnectionManagerAdapter.java:628) at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:270) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:107) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:2246) at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:173) at org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:759) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:1512) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:1445) at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1280) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:745) {noformat} Possible problem: * N threads are trying to execute task. * The first thread is trying to put registered class into marshaller cache (see {{MarshallerContextImpl.registerClassName}}). Performs put locally and waiting for responses from backups. * The second thread get registered class locally (first thread already updated cache) and send task to remote node. * Remote node (it is backup node) trying to deserialize task and get class descriptor by {{typeId}}. But update from first thread still is not executed on this node. Task execution fails because can't deserialize task. -- This message was sent by Atlassian JIRA (v6.3.4#6332)