[infinispan-dev] Unnecessarikly verbose exceptions: DeadlockDetectingInterceptor
Manik Surtani
manik at jboss.org
Thu Aug 13 11:00:29 EDT 2009
Guys,
I see this coming up when I run the test suite quite often, even on
tests that should not be exercising this code:
2009-08-13 15:53:29,188 ERROR [InvocationContextInterceptor]
(PerCacheExecutorThread-1) Execution error:
org.infinispan.util.concurrent.locks.DeadlockDetectedException:
Deadlock request was detected for locally originated tx
DummyTransaction{xid=DummyXid{id=70}, status=1}; it was marked for
rollback
at
org
.infinispan
.interceptors
.DeadlockDetectingInterceptor
.handleDataCommand(DeadlockDetectingInterceptor.java:80)
at
org
.infinispan
.interceptors
.DeadlockDetectingInterceptor
.visitPutKeyValueCommand(DeadlockDetectingInterceptor.java:98)
at
org
.infinispan
.commands
.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
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.visitPutKeyValueCommand(AbstractVisitor.java:
57)
at
org
.infinispan
.commands
.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at
org
.infinispan
.interceptors
.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:
118)
at
org
.infinispan
.interceptors
.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:185)
at
org
.infinispan
.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:
127)
at
org
.infinispan
.commands
.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at
org
.infinispan
.interceptors
.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:
118)
at
org
.infinispan
.interceptors
.InvocationContextInterceptor
.handleAll(InvocationContextInterceptor.java:48)
at
org
.infinispan
.interceptors
.InvocationContextInterceptor
.handleDefault(InvocationContextInterceptor.java:34)
at
org
.infinispan
.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:
57)
at
org
.infinispan
.commands
.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at
org
.infinispan
.interceptors
.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:
118)
at org.infinispan.tx.AsyncDeadlockDetectionTest
$
RemoteReplicationInterceptor
.handleDefault(AsyncDeadlockDetectionTest.java:160)
at
org
.infinispan
.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:
57)
at
org
.infinispan
.commands
.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at
org
.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:
237)
at org.infinispan.CacheDelegate.put(CacheDelegate.java:326)
at org.infinispan.CacheDelegate.put(CacheDelegate.java:544)
at org.infinispan.CacheDelegate.put(CacheDelegate.java:179)
at
org
.infinispan
.test.PerCacheExecutorThread.run(PerCacheExecutorThread.java:98)
[pool-1-thread-6] Test
simpleReplicationTest
(org.infinispan.replication.SyncCacheListenerTest) succeeded.
Is this a little too alarming? It seems to happen on any thread
interrupt (see DeadlockDetectingInterceptor [1], lines 67 - 92).
There are often legitimate reasons for a thread to be interrupted
(e.g., a server being shut down). So throwing this exception every
time can be pretty scary. Perhaps this should be on INFO or DEBUG
level?
Cheers
Manik
[1] http://fisheye.jboss.org/browse/Infinispan/trunk/core/src/main/java/org/infinispan/interceptors/DeadlockDetectingInterceptor.java?r=612
--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
More information about the infinispan-dev
mailing list