[infinispan-dev] IllegalStateException when receiving invalidation messages on a stopped/stopping cache

Sanne Grinovero sanne at infinispan.org
Thu Jul 14 11:26:12 EDT 2011


Hello,
I was looking into the many stacktraces being thrown from the
testsuite, this one caught my attention (see below).
Can't we just discard such errors? if the cache is stopping, or
stopped already, we shouldn't really care for invalidations -
especially stacktraces and exceptions being returned to the caller.
This doesn't solve all the EOF exceptions I'm still experiencing, but
it seems to make things a bit better.. I've hacked a solution which
implies adding a method:

boolean ignoreCommandOnStatus(ComponentStatus status);

to the VisitableCommand interface, seems to work fine. Shall I open a
JIRA and send a pull request?

Details:
https://github.com/Sanne/infinispan/commit/ed962ed72bc68765078b6a0f172b95ea1c07d485#L7L142

Cheers,
Sanne

2011-07-14 15:16:20,940 ERROR [RebalanceTask]
(Rehasher,Infinispan-Cluster,NonStringKeyStateTransferTest-NodeC-7649)
ISPN000145: Error during rehash
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:83)
	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:64)
	at org.infinispan.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:120)
	at org.infinispan.commands.AbstractVisitor.visitInvalidateL1Command(AbstractVisitor.java:124)
	at org.infinispan.commands.write.InvalidateL1Command.acceptVisitor(InvalidateL1Command.java:177)
	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:274)
	at org.infinispan.distribution.RebalanceTask.invalidateKeys(RebalanceTask.java:172)
	at org.infinispan.distribution.RebalanceTask.performRehash(RebalanceTask.java:145)
	at org.infinispan.distribution.RehashTask.call(RehashTask.java:67)
	at org.infinispan.distribution.RehashTask.call(RehashTask.java:44)
	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:662)


More information about the infinispan-dev mailing list