[
https://issues.jboss.org/browse/ISPN-1990?page=com.atlassian.jira.plugin....
]
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/...
--
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