[infinispan-issues] [JBoss JIRA] (ISPN-3665) SingleFileStore is not thread-safe for passivation

Paul Ferraro (JIRA) jira-events at lists.jboss.org
Fri Oct 25 14:19:02 EDT 2013


Paul Ferraro created ISPN-3665:
----------------------------------

             Summary: SingleFileStore is not thread-safe for passivation
                 Key: ISPN-3665
                 URL: https://issues.jboss.org/browse/ISPN-3665
             Project: Infinispan
          Issue Type: Bug
          Components: Loaders and Stores
    Affects Versions: 6.0.0.CR1
            Reporter: Paul Ferraro
            Assignee: Mircea Markus
            Priority: Blocker
             Fix For: 6.0.0.Final
         Attachments: Test.java

SingleFileStore never makes use of FileChannel.force(...) to flush changes to disk.  This causes problems for the passivation use case.
If one thread evicts a cache entry, while immediately after another thread attempts to read the same cache entry, the Cache.get(...) can return null.  This is because the entry is never flushed to disk.

I've attached a test to reproduce the problem.
I also ran the same test with the addition of FileChannel.force(false) to the write(...) method, and the test succeeds.

A proper fix should probably make this a configurable operation (as it was with the old file store implementation).  It would be nice if the flush could defer until just before tx commit.

I suspect this lack of flush also accounts for much of the bold claim of a 100x performance improvement over the old file store implementation.

--
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