[ http://issues.apache.org/jira/browse/COCOON-1885?page=all ]
Antonio Gallardo reassigned COCOON-1885: ---------------------------------------- Assignee: Antonio Gallardo > The EHDefaultStore returns in the size() method the wrong number of keys > ------------------------------------------------------------------------ > > Key: COCOON-1885 > URL: http://issues.apache.org/jira/browse/COCOON-1885 > Project: Cocoon > Issue Type: Bug > Components: * Cocoon Core > Affects Versions: 2.1.9 > Reporter: Ard Schrijvers > Assigned To: Antonio Gallardo > Priority: Critical > Attachments: EHDefaultStore.patch > > > The excalibut store interface defines a size() method for a store: > /** > * Returns count of the objects in the store, or -1 if could not be > * obtained. > */ > int size(); > What it not explicitely says, is that it is the number of keys in memoryStore > (so not the diskStore) is needed. The StoreJanitor uses this size() to free > some memory from cache when the JVM is low on memory. Since the current > EHDefaultStore returns with size() ALL cachekeys (memoryStoreSize + > diskStoreSize), it is quite likely when having a large cache that the > StoreJanitor removes all cachekeys in memoryStore. Simply changing the size() > method of EHDefaultStore to return the number of keys in memoryStore is > sufficient. The JCSDefaultStore did implement it correctly already (though I > do not see it in the cocoon trunk anymore..?) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira