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 <[email protected]> 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 > [email protected] > https://lists.jboss.org/mailman/listinfo/infinispan-dev -- Galder Zamarreño [email protected] twitter.com/galderz Project Lead, Escalante http://escalante.io Engineer, Infinispan http://infinispan.org _______________________________________________ infinispan-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/infinispan-dev
