[infinispan-issues] [JBoss JIRA] Created: (ISPN-1300) Reduce number of files generated by FileCacheStore

Robert Stupp (JIRA) jira-events at lists.jboss.org
Wed Aug 3 04:49:23 EDT 2011


Reduce number of files generated by FileCacheStore
--------------------------------------------------

                 Key: ISPN-1300
                 URL: https://issues.jboss.org/browse/ISPN-1300
             Project: Infinispan
          Issue Type: Enhancement
            Reporter: Robert Stupp
            Assignee: Manik Surtani


The current implementation of FileCacheStore creates one file for each hash key - which results in up to 4.2 billion files (2^32).

It should limit the number of files to
a) improve performance of purge
b) reduce number of open file handles (system resources)
c) reduce number of Java objects/heap (JVM resources)
d) improve performance

The implementation allows us to do so.

Only 4 lines of code are necessary in FileCacheStore implementation:

   private int hashKeyMask = 0xfffffc00; // TODO should get a configuration entry

   @Override
   protected Integer getLockFromKey(Object key) {
      return Integer.valueOf(key.hashCode() & hashKeyMask);
   }

This reduces the number of files to 2^22 = 4,194,304 files. Since each application and each cache store has different semantics the hasKeyMask value should be configurable - best would be to configure the number of bits.

Side effect: If someone changes the FileCacheStore hasKeyMask, the whole cache store becomes unuseable. So I opened another enhancement ...


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