3 Replies Latest reply on Jul 7, 2005 5:09 PM by Ben Wang


    canghel Newbie


      I get a org.jboss.cache.lock.TimeoutException in the following scenario:
      1. I have 2 cluster nodes: N1 and N2
      2. I have 2 caches: C1 and C2 (both started on both cluster nodes)
      3. I start a new transaction on node N1
      3.1 I put O1 in C1
      3.2 I put O2 in C2
      4. A listener on C2 is called on node N2 (after I put O2 in C2 on N1 - step 3.2)
      4.1 I read O1 (a get call) from C1 - at this point I receive the TimeoutException with details saying that node N1 has already the write lock for O1 so that N2 can not acquire read lock for O1.

      Is this the expected behaviour? Is this a defect?

      Reading O2 from C2 from the C2 listener on N2 (in step 4.1) works but reading O1 from C1 from the C2 listener on N2 leads to deadlock. I would expect that both should work.

      I hope someone can give me some explanations for this scenario.

      Claudiu Anghel