Thx!! You do not happen to know where the JCSDefaultStore went in trunk..?? I read some stuff about it outperforming ehcache in almost every way (and that it might be easier to implement the eviction policy driven freeing of cachekeys).
Regards Ard > > > Thanks Ard. I will apply this patch today after work. :-) > > Best Regards, > > Antonio Gallardo > > Ard Schrijvers escribió: > > This is a partial fix of a larger problem that I am not yet > capable of fixing: removing cachekeys according the correct > eviction policy. > > > > This fix at least fixes the flaw, that the StoreJanitor > could delete the entire memoryStore part from ehcache. In the > JCSDefaultStore, this size() method was already correct. I > just noticed, that JCSDefaultStore is not in the cocoon trunk > anymore. Is there specific reason for it? Did it move? > > > > Regards Ard Schrijvers > > > > > >> 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 > >> Priority: Critical > >> > >> > >> 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 > > > > > > > >
