[infinispan-dev] Unnecessarikly verbose exceptions: DeadlockDetectingInterceptor
Mircea Markus
mircea.markus at jboss.com
Thu Aug 13 11:39:54 EDT 2009
Good point.
I think the try catch should look like following:
try {
invokeNext();
} catch(CacheException ce) {
log.*trace*("Cache excption ", ce); //this is expected an logged as
such (trace)
..etc
} catch (Throwable th) {
log.error("unexpected error",th); //unexpected
...etc
}
Wdyt?
On Aug 13, 2009, at 6:00 PM, Manik Surtani wrote:
> 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
>
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
More information about the infinispan-dev
mailing list