[
https://issues.jboss.org/browse/ISPN-2402?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-2402:
------------------------------------
The IllegalStateException that is thrown when the remote cache is in the process of
shutting down should be handled similarly:
{noformat}
15:01:27,140 ERROR (testng-NonTxPutIfAbsentDuringJoinStressTest:) [UnitTestTestNGListener]
Test
testNodeLeavingDuringPutIfAbsent(org.infinispan.distribution.rehash.NonTxPutIfAbsentDuringLeaveStressTest)
failed.
java.util.concurrent.ExecutionException: org.infinispan.remoting.RemoteException:
ISPN000217: Received exception from NonTxPutIfAbsentDuringJoinStressTest-NodeH-31913, see
cause for remote stack trace
...
Caused by: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from
NonTxPutIfAbsentDuringJoinStressTest-NodeH-31913, see cause for remote stack trace
...
Caused by: java.lang.IllegalStateException: Default cache is in 'STOPPING' state
and this is an invocation not belonging to an on-going transaction, so it does not accept
new invocations. Either restart it or recreate the cache container.
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:93)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70)
at
org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:32)
at
org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:62)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321)
at
org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommand(BaseRpcInvokingCommand.java:39)
at org.infinispan.commands.remote.SingleRpcCommand.perform(SingleRpcCommand.java:48)
at
org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:97)
at
org.infinispan.remoting.InboundInvocationHandlerImpl.access$000(InboundInvocationHandlerImpl.java:46)
at
org.infinispan.remoting.InboundInvocationHandlerImpl$2.run(InboundInvocationHandlerImpl.java:169)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
... 1 more
{noformat}
Cache operations or transactions should never fail with
SuspectException
------------------------------------------------------------------------
Key: ISPN-2402
URL:
https://issues.jboss.org/browse/ISPN-2402
Project: Infinispan
Issue Type: Task
Components: RPC, State transfer
Affects Versions: 5.2.0.Beta2
Reporter: Dan Berindei
Assignee: Dan Berindei
Labels: 5.2.x
Fix For: 6.0.0.Final
Attachments: vrstt.log
This is an extension of ISPN-1896 of sorts, but for all the cache operations that are
visible to the user.
After a node leaves, the other nodes that have sent commands to that node should either
ignore SuspectExceptions or, if not possible, they should retry the operation (e.g. if
they didn't get any response back).
For example, VersionReplStateTransferTest quite often on my machine with a
SuspectException, because the versioned prepare command expects a response from the
coordinator and the coordinator has just left.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira