[infinispan-dev] SingleJoinTest#testTransactional failure
Mircea Markus
mircea.markus at jboss.com
Tue Nov 30 11:35:23 EST 2010
On 30 Nov 2010, at 14:30, Vladimir Blagojevic wrote:
> On 10-11-30 10:49 AM, Vladimir Blagojevic wrote:
>> I like your solution. It seems to be less disruptive to ongoing
>> transactions then the other two solutions.
>>
>> How would you safely detect that K is locked by another tx and thus skip
>> locking?
> I do *not* think I can do the following in LockingInterceptor:
>
> public Object visitInvalidateCommand(InvocationContext ctx, InvalidateCommand command) throws Throwable {
> try {
> if (command.getKeys() != null) {
> for (Object key : command.getKeys()) {
> if(!lockManager.isLocked(key))
> entryFactory.wrapEntryForWriting(ctx, key, false, true, false, false, false);
> }
> }
> return invokeNextInterceptor(ctx, command);
Perhaps you only want to run invokeNext for the keys for which you acquired locks?
> } catch (Throwable te) {
> return cleanLocksAndRethrow(ctx, te);
> }
> finally {
> doAfterCall(ctx);
> }
> }
More information about the infinispan-dev
mailing list