[jboss-user] [JBoss Cache: Core Edition] - Re: Possible bug with putForExternalRead in 3.0.1

manik.surtani@jboss.com do-not-reply at jboss.com
Tue Dec 9 12:56:18 EST 2008


Back to my old mantra - have you got a unit test for this?  :-)  It should be easy enough to write one and test whether pFER() waits for locks - have a tx acquire the lock and then suspend the tx, then try the pFER().

Disabling lock acquisition does not happen in the CacheInvocationDelegate, but in the locking interceptor instead.  e.g. PessimisticLockInterceptor:


  |    @Override
  |    protected Object handlePutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable
  |    {
  |       return handlePutCommand(ctx, command, false);
  |    }
  | 
  |    @Override
  |    protected Object handlePutForExternalReadCommand(InvocationContext ctx, PutForExternalReadCommand command) throws Throwable
  |    {
  |       return handlePutCommand(ctx, command, true);
  |    }
  | 
  |    private Object handlePutCommand(InvocationContext ctx, DataCommand command, boolean zeroAcquisitionTimeout)
  |          throws Throwable
  |    {
  |   ....
  |    }
  | 

You are right though that this seems to have been missed out in the MVCCLockingInterceptor.  

Could you confirm that you saw this problem with MVCC and not PL/OL?


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

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



More information about the jboss-user mailing list