[infinispan-dev] Versioned Transactional Cache issues

Pedro Ruivo pruivo at gsd.inesc-id.pt
Fri Sep 14 06:08:49 EDT 2012


Hi,

JIRA created: https://issues.jboss.org/browse/ISPN-2300

Cheers,
Pedro

On 9/14/12 10:55 AM, Galder Zamarreño wrote:
> Hey Pedro,
>
> Thanks very much for the test cases.
>
> Yes please, create a single JIRA addressing the 3 issues. That should be enough.
>
> I'd suggest you check with Manik on the fixes that you're unsure about since he's the specialist on that area.
>
> Cheers,
>
> On Sep 11, 2012, at 8:14 PM, Pedro Ruivo<pruivo at gsd.inesc-id.pt>  wrote:
>
>> Hi all,
>>
>> While I was working in Infinispan, I have found some issues with the
>> versioned transactional cache. I have created some tests cases (can be
>> found here [1]) to reproduce the issues and also I have fixed one of
>> them. The issues are the following:
>>
>> 1) testPutIfAbsent, testRemoveIfPresent, testReplaceWithOldVal (methods
>> the test cases)
>>
>> In this tests, it was updating the cache entry with a null version. This
>> originates later a IllegalStateException when it tries to perform the
>> write skew check and the version is null.
>> I have fixed this problem in this way: if the command fails (PutCommand,
>> RemoveCommand, ReplaceCommand), I unset the flag CHANGED in the
>> MvccEntry to avoid to update the entry in the DataContainer.
>>
>> 2) testClear in distributed mode
>>
>> I have no clear idea how to solve this problem but it looks like the
>> PrepareCommand (with the ClearCommand) is not sent to all the nodes in
>> the cluster. Then, when I do a get, a remote get is performed and the
>> key is still there. I think that it is not the desired behavior.
>>
>> 3) testRemoveUnexistingEntry
>>
>> In this test, it tries to remove a key that does not exists but it does
>> not success due to a NullPointerException. I have looked deeper and I
>> check that the transaction's lookup entries map has an entry with [key
>> =>  null] and when it tries to perform the write skew check in that key,
>> a NullPointerException is thrown in here [2] (line 80, WriteSkewHelper)
>>
>> Should I open a JIRA with this 3 issues (or 3 JIRAs, one for each issue)?
>> If you want, I can issue a pull request too.
>>
>> Cheers,
>> Pedro Ruivo
>>
>> [1] https://github.com/pruivo/infinispan/tree/t_replace_fix
>> [2]
>> https://github.com/pruivo/infinispan/blob/t_replace_fix/core/src/main/java/org/infinispan/transaction/WriteSkewHelper.java#L80
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
> --
> Galder Zamarreño
> galder at redhat.com
> twitter.com/galderz
>
> Project Lead, Escalante
> http://escalante.io
>
> Engineer, Infinispan
> http://infinispan.org
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev


More information about the infinispan-dev mailing list