7 Replies Latest reply on Aug 9, 2007 11:44 AM by manik

    Getting InterruptedException while putting into tree cache

    sg283

      I am using JBoss Cache 1.4.1 SP3. We are using PESSIMISTIC locking scheme with isolation level READ_UNCOMMITED.
      While writing into the cache, sometimes we get InterruptedException. However, the API(put method in org.jboss.cache.TreeCache) only throws CacheException.

      Here is the stacktrace:-

      04 Aug 07 16:24:06, ERROR com.tg.logging.TGLogger: [pool-2-thread-177] error:166 com.tg.ws.WSException: WSException(String message, Throwable cause): java.lang.InterruptedException
      com.tg.cache.manager.TGCacheException: java.lang.InterruptedException
      at com.tg.ws.abacus.AbacusFareService.putResponseInCache(AbacusFareService.java:667)
      at com.tg.ws.abacus.AbacusFareService_1_5.getFaresFromCacheOrWSForRequest(AbacusFareService_1_5.java:187)
      at com.tg.ws.abacus.FarePoolHandler.execute(FarePoolHandler.java:29)
      at com.tg.ws.abacus.FarePoolHandler.execute(FarePoolHandler.java:15)
      at com.tg.parallel.concurrent.JavaConcurrentPoolExecutor$CallableAdapter.call(JavaConcurrentPoolExecutor.java:93)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.RuntimeException: java.lang.InterruptedException
      at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
      at org.jboss.cache.TreeCache.put(TreeCache.java:3833)
      at com.tg.cache.manager.FareCacheProviderImpl.addToCache(FareCacheProviderImpl.java:119)
      at com.tg.ws.abacus.AbacusFareService.putResponseInCache(AbacusFareService.java:646)
      ... 9 more
      Caused by: java.lang.InterruptedException
      at EDU.oswego.cs.dl.util.concurrent.NullSync.attempt(NullSync.java:38)
      at org.jboss.cache.lock.IdentityLock.acquireReadLock(IdentityLock.java:252)
      at org.jboss.cache.Node.acquireReadLock(Node.java:512)
      at org.jboss.cache.Node.acquire(Node.java:474)
      at org.jboss.cache.interceptors.PessimisticLockInterceptor.acquireNodeLock(PessimisticLockInterceptor.java:379)
      at org.jboss.cache.interceptors.PessimisticLockInterceptor.lock(PessimisticLockInterceptor.java:307)
      at org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:175)
      at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
      at org.jboss.cache.interceptors.CacheStoreInterceptor.invoke(CacheStoreInterceptor.java:186)
      at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
      at org.jboss.cache.interceptors.CacheLoaderInterceptor.invoke(CacheLoaderInterceptor.java:212)
      at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
      at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
      at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
      at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:365)
      at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160)
      at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
      at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:157)
      at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5863)
      ... 12 more