[infinispan-issues] [JBoss JIRA] (ISPN-1990) Preload sets the versions to null (repeatable read + write skew)

Galder Zamarreño (JIRA) jira-events at lists.jboss.org
Fri Mar 22 08:12:42 EDT 2013


    [ https://issues.jboss.org/browse/ISPN-1990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12762576#comment-12762576 ] 

Galder Zamarreño commented on ISPN-1990:
----------------------------------------

This is fundamentally broken since the CacheLoaderManager cannot preload the cache putting an entry with its corresponding version (even if that can be stored as such). IOW, there's no Cache.put() that takes a version. This will be resolved as part of ISPN-2281, so will re-evaluate once that is fixed.
                
> Preload sets the versions to null (repeatable read + write skew)
> ----------------------------------------------------------------
>
>                 Key: ISPN-1990
>                 URL: https://issues.jboss.org/browse/ISPN-1990
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Loaders and Stores
>    Affects Versions: 5.1.3.FINAL
>         Environment: Java 6 (64bits)
> Infinispan 5.2.0-SNAPSHOT
> MacOS 
>            Reporter: Pedro Ruivo
>            Assignee: Galder Zamarreño
>              Labels: preload, skew, versioning, write
>             Fix For: 5.3.0.Alpha1, 5.3.0.Final
>
>
> I think I've spotted a issue when I use repeatable read with write skew check and I preload the cache.
>  
> I've made a test case to reproduce the bug. It can be found here [1]. 
> The problem is that each keys preloaded is put in the container with version = null. When I try to commit a transaction, I get this exception:
>  
> {code}
>  java.lang.IllegalStateException: Entries cannot have null versions!
>     at org.infinispan.container.entries.ClusteredRepeatableReadEntry.performWriteSkewCheck(ClusteredRepeatableReadEntry.java:44)
>     at org.infinispan.transaction.WriteSkewHelper.performWriteSkewCheckAndReturnNewVersions(WriteSkewHelper.java:81)
>     at org.infinispan.interceptors.locking.ClusteringDependentLogic$AllNodesLogic.createNewVersionsAndCheckForWriteSkews(ClusteringDependentLogic.java:133)
>     at org.infinispan.interceptors.VersionedEntryWrappingInterceptor.visitPrepareCommand(VersionedEntryWrappingInterceptor.java:64)
> {code}
>  
> I think that all info is in the test case, but if you need something let 
> me know.
>  
> Cheers,
> Pedro
> [1] 
> https://github.com/pruivo/infinispan/blob/issue_1/core/src/test/java/org/infinispan/loaders/WriteSkewCacheLoaderFunctionalTest.java

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the infinispan-issues mailing list