[infinispan-issues] [JBoss JIRA] Commented: (ISPN-575) Wrong reordering of data when using Flag.SKIP_LOCKING and having a cache store enabled

Sanne Grinovero (JIRA) jira-events at lists.jboss.org
Sun Sep 4 17:32:26 EDT 2011


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

Sanne Grinovero commented on ISPN-575:
--------------------------------------

This issue doesn't apply anymore to Lucene Directory users since ISPN-590 is effectively a workaround for this, but I think it could still apply to other use cases.
Still now that I know a bit more about Infinispan internals I'm wondering if this should not be documented as a limitation of SKIP_LOCK instead of being fixed as a bug: in absence of a lock I'm not sure how we can mandate proper ordering.

Main problem of having now this workaround in Lucene's Directory is that we have no more a test case.

> Wrong reordering of data when using Flag.SKIP_LOCKING and having a cache store enabled
> --------------------------------------------------------------------------------------
>
>                 Key: ISPN-575
>                 URL: https://issues.jboss.org/browse/ISPN-575
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Loaders and Stores
>    Affects Versions: 4.0.0.Final, 4.1.0.CR2
>            Reporter: Sanne Grinovero
>            Assignee: Sanne Grinovero
>            Priority: Critical
>             Fix For: 5.1.0.BETA1, 5.1.0.FINAL
>
>         Attachments: ISPN-575-previewOfTest-dontapply.patch, more_logs.patch, [ISPN-575]_(Corruption_in_data_when_using_a_permanent_store)_Extra_debugging_info_.patch
>
>
> We verified the issue while using the Lucene Directory; using the Directory under stress leads to no issues even during long running tests of several hours.
> To verify the Lucene Directory under stress, use org.infinispan.lucene.profiling.PerformanceCompareStressTest.
> The same exact test - but having a jdbc store enabled - breaks: org.infinispan.lucene.profiling.CacheStoreStressTest (*)
> Lucene's error says "invalid checksum", the truth is that the checksum data is missing as there where two consecutive put operations: one containing the correct data but missing the checksum signature, and then again putting the same data but with the correct signature; both puts are using SKIP_LOCKING, and it appears that some readers in other threads - which definitely start after the second put - are getting the first unsigned values (under load only - must be a race condition).
> * The CacheStoreStressTest was committed with ISPN-590 as #2187, but same commit also works around the issue in the Lucene implementation, so keep the implementation at a previous revision.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list