[infinispan-issues] [JBoss JIRA] Resolved: (ISPN-496) TimeoutException sometimes thrown when clustered Hot Rod server is stopped

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Thu Jul 1 16:43:46 EDT 2010


     [ https://jira.jboss.org/browse/ISPN-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreno resolved ISPN-496.
-----------------------------------

    Resolution: Done


Fixed by making sure Infinispan's shutdown hook is disabled when Infinispan servers are in use, cos the latter already needs a shutdown hook which will call to CacheContainer.stop. Otherwise, Infinispan's actions on shutdown, such as closing the transport and channel, could happen too early.

> TimeoutException sometimes thrown when clustered Hot Rod server is stopped
> --------------------------------------------------------------------------
>
>                 Key: ISPN-496
>                 URL: https://jira.jboss.org/browse/ISPN-496
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Cache Server
>    Affects Versions: 4.1.0.BETA2
>            Reporter: Galder Zamarreno
>            Assignee: Galder Zamarreno
>             Fix For: 4.1.0.CR1
>
>
> When shutting down Hot Rod servers, I sometimes see exceptions like this:
> Exception in thread "Thread-1" java.lang.RuntimeException: Exception encountered in shutting down the server
> 	at org.infinispan.server.core.ShutdownHook.run(Main.scala:296)
> Caused by: java.util.concurrent.ExecutionException: org.infinispan.util.concurrent.TimeoutException: Replication timeout for ip-10-196-170-80-39595
> 	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
> 	at org.infinispan.server.core.ShutdownHook.run(Main.scala:292)
> Caused by: org.infinispan.util.concurrent.TimeoutException: Replication timeout for ip-10-196-170-80-39595
> 	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeRemotely(JGroupsTransport.java:422)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:100)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:124)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:229)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:216)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:199)
> 	at org.infinispan.remoting.rpc.RpcManagerImpl.broadcastRpcCommand(RpcManagerImpl.java:192)
> 	at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:114)
> 	at org.infinispan.interceptors.ReplicationInterceptor.visitReplaceCommand(ReplicationInterceptor.java:98)
> 	at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:58)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> 	at org.infinispan.interceptors.LockingInterceptor.visitReplaceCommand(LockingInterceptor.java:232)
> 	at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:58)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> 	at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
> 	at org.infinispan.commands.AbstractVisitor.visitReplaceCommand(AbstractVisitor.java:65)
> 	at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:58)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> 	at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:183)
> 	at org.infinispan.interceptors.TxInterceptor.visitReplaceCommand(TxInterceptor.java:142)
> 	at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:58)
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:58)
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:39)
> 	at org.infinispan.commands.AbstractVisitor.visitReplaceCommand(AbstractVisitor.java:65)
> 	at org.infinispan.commands.write.ReplaceCommand.acceptVisitor(ReplaceCommand.java:58)
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:271)
> 	at org.infinispan.CacheDelegate.replace(CacheDelegate.java:438)
> 	at org.infinispan.CacheSupport.replace(CacheSupport.java:96)
> 	at org.infinispan.server.hotrod.HotRodServer.removeSelfFromTopologyView(HotRodServer.scala:116)
> 	at org.infinispan.server.hotrod.HotRodServer.stop(HotRodServer.scala:103)
> 	at org.infinispan.server.core.ShutdownHook$$anon$4.call(Main.scala:286)
> 	at org.infinispan.server.core.ShutdownHook$$anon$4.call(Main.scala:284)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
> Try to find out what's causing it. 
> One alternative might be to log them silently cos if the view cannot be updated when the server is stopped, the crashed member detector will discover in next view that the server has crashed and will remove it then.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list