[jboss-user] [JBossCache] - PessimisticLockInterceptor performance

pkorros do-not-reply at jboss.com
Wed Nov 22 07:25:02 EST 2006

When I use Hibernate 3.0.GA with TreeCache 1.4.0.SP1 (and 1.4.1.BETA) using a pessimistic cache configuration in local mode I see that a huge amount of time is spent inside the PessimisticLockInterceptor.

I profiled the application and I saw that for a given set of operations that takes 23 seconds, the 98% is spent inside the lock interceptor. The following trace shows that this is because the TransactionTable uses a LinkedList to store the locks and and then it calls contains to find if a lock exists. A more performant collection should be used instead.

Here is a part of the trace:
org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(MethodCall) 22.125	98% 
--org.jboss.cache.interceptors.PessimisticLockInterceptor.lock(Fqn, GlobalTransaction, int, boolean, long, boolean) 21.562	96%
----org.jboss.cache.TransactionTable.addLock(GlobalTransaction, IdentityLock) 21.187	94%
------org.jboss.cache.TransactionEntry.addLock(IdentityLock) 21.187	94%
--------java.util.LinkedList.contains(Object) 21.187 94%
----org.jboss.cache.Node.acquire(Object, long, int) 187 1%
----org.jboss.cache.Node.getOrCreatechild(Object, GlobalTransaction, boolean) 187 1%

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987872#3987872

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987872

More information about the jboss-user mailing list