4 Replies Latest reply on Sep 24, 2009 12:35 PM by Manik Surtani

    MVCCLockManager.lockAndRecord ignores the values of Invocati

    Alexey Veklov Newbie


      As you can see from the below log:
      * actual lock acquisition timeout in lockAndRecord is 10 seconds which equals to timeout on the cache level. (time between MVCCLockManager.lockAndRecord and MVCCLockingInterceptor.doAfterCall).
      * the value of InvocationContext.getLockAcquisitionTimeout is 0. (exception message "... Unable to acquire lock on Fqn [...] after [0] milliseconds ..." produced by MVCCNodeHelper.acquireLock)

      04.09.09 12:56:16.539 MSD [17] FINEST org.jboss.cache.lock.MVCCLockManager.lockAndRecord - Attempting to lock /java.lang.Integer/k
      04.09.09 12:56:26.539 MSD [17] FINEST org.jboss.cache.interceptors.MVCCLockingInterceptor.doAfterCall - Nothing to do since there are no modifications in scope.
      04.09.09 12:56:26.539 MSD [17] FINEST org.jboss.cache.InvocationContext.throwIfNeeded - There was a problem handling this request, but failSilently was set, so suppressing exception - org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [/java.lang.Integer/k] after [0] milliseconds for requestor [Thread[Thread-1,5,main]]! Lock held by [GlobalTransaction:<>:0]
      at org.jboss.cache.mvcc.MVCCNodeHelper.acquireLock(MVCCNodeHelper.java:159)
      at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodeForWriting(MVCCNodeHelper.java:236)
      at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodeForWriting(MVCCNodeHelper.java:186)

      In particular this affects behaviour of Cache.putFromExternalRead