[infinispan-issues] [JBoss JIRA] (ISPN-1885) RPCs can arrive before CommandAwareRpcDispatcher sets its request/response marshaller
Paul Ferraro (JIRA)
jira-events at lists.jboss.org
Fri Feb 24 11:27:36 EST 2012
[ https://issues.jboss.org/browse/ISPN-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12670914#comment-12670914 ]
Paul Ferraro commented on ISPN-1885:
------------------------------------
I just updated the jira description - I think this is a race condition. It should be solvable by changing the construction of CommandAwareRpcDispatcher to using the no-arg super constructor of RpcDispatcher (which does not call start()), and use the appropriate settings, so that it is not started until the request/response marshallers are set.
> RPCs can arrive before CommandAwareRpcDispatcher sets its request/response marshaller
> -------------------------------------------------------------------------------------
>
> Key: ISPN-1885
> URL: https://issues.jboss.org/browse/ISPN-1885
> Project: Infinispan
> Issue Type: Bug
> Components: RPC
> Affects Versions: 5.1.1.FINAL
> Reporter: Paul Ferraro
> Assignee: Galder Zamarreño
> Priority: Critical
> Fix For: 5.1.2.CR1, 5.1.2.FINAL
>
>
> CommandAwareRpcDispatcher is started before the request/response marshallers are set, which can cause a NotSerializableException if it attempts to handle an RPC during this short period of time.
> [JBossINF] 10:24:24,735 ERROR [org.infinispan.cacheviews.CacheViewsManagerImpl] (CacheViewTrigger,perf21/web) Error recovering views from the cluster members: java.util.concurrent.ExecutionException: org.infinispan.CacheException: java.util.concurrent.ExecutionException: org.infinispan.marshall.NotSerializableException: org.infinispan.remoting.responses.ExceptionResponse
> [JBossINF] at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) [rt.jar:1.6.0_30]
> [JBossINF] at java.util.concurrent.FutureTask.get(FutureTask.java:83) [rt.jar:1.6.0_30]
> [JBossINF] at org.infinispan.cacheviews.CacheViewsManagerImpl.recoverViews(CacheViewsManagerImpl.java:672) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.cacheviews.CacheViewsManagerImpl.access$500(CacheViewsManagerImpl.java:95) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.cacheviews.CacheViewsManagerImpl$ViewTriggerThread.run(CacheViewsManagerImpl.java:812) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] Caused by: org.infinispan.CacheException: java.util.concurrent.ExecutionException: org.infinispan.marshall.NotSerializableException: org.infinispan.remoting.responses.ExceptionResponse
> [JBossINF] at org.infinispan.util.Util.rewrapAsCacheException(Util.java:524) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommands(CommandAwareRpcDispatcher.java:115) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:447) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.cacheviews.CacheViewsManagerImpl$4.call(CacheViewsManagerImpl.java:663) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.cacheviews.CacheViewsManagerImpl$4.call(CacheViewsManagerImpl.java:660) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [rt.jar:1.6.0_30]
> [JBossINF] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [rt.jar:1.6.0_30]
> [JBossINF] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
> [JBossINF] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
> [JBossINF] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
> [JBossINF] Caused by: java.util.concurrent.ExecutionException: org.infinispan.marshall.NotSerializableException: org.infinispan.remoting.responses.ExceptionResponse
> [JBossINF] at org.jgroups.blocks.UnicastRequest.getValue(UnicastRequest.java:165) [jgroups-3.0.4.Final.jar:3.0.4.Final]
> [JBossINF] at org.jgroups.blocks.UnicastRequest.get(UnicastRequest.java:191) [jgroups-3.0.4.Final.jar:3.0.4.Final]
> [JBossINF] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher$ReplicationTask.call(CommandAwareRpcDispatcher.java:269) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommands(CommandAwareRpcDispatcher.java:111) [infinispan-core-5.1.1.FINAL.jar:5.1.1.FINAL]
> [JBossINF] ... 8 more
> [JBossINF] Caused by: org.infinispan.marshall.NotSerializableException: org.infinispan.remoting.responses.ExceptionResponse
> [JBossINF] Caused by: an exception which occurred:
> [JBossINF] in object org.infinispan.remoting.responses.ExceptionResponse at 58e39f23
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list