[
https://jira.jboss.org/browse/ISPN-496?page=com.atlassian.jira.plugin.sys...
]
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