1 Reply Latest reply on Sep 3, 2004 6:21 AM by Bela Ban

    Using different isolation levels on different nodes?

    Ørjan Austvold Newbie

      Hi,

      I'm using JbossCache 1.1 as a transactional cache for Hibernate 2.1.6. Currently we're running on Tomcat 4.1.30 with JOTM 1.5.3 as the TransactionManager. Database is Oracle 10g.

      Frequently, Hibernate is running into deadlock-situations with TImeoutException as a result while putting data into any of the two nodes (or their children):

      //net/sf/hibernate/cache/StandardQueryCache
      //net/sf/hibernate/cache/UpdateTimestampsCache
      


      From a discussion on the Hibernate forum

      http://forum.hibernate.org/viewtopic.php?t=931969&highlight=timeoutexception+query+cache

      I see that neither of these paths must be in a transactional context. Gavin King notes that

      "Oh, you never explained that this is with the query cache. You will need to put the JBoss query cache region in some kind of nonstransactional mode. Not sure how to do this, ask Ben Wang."

      Is it possible to specify separate isolation levels on different nodes?

      My current solution is to utilize an extended TreeCacheProvider and TreeCache wrapper in hibernate where two instances of the cache is created. One with isolation level set to REPEATABLE_READ and the other with isolation level NONE.

      Best regards,
      Ørjan