• Bug
  • Status: Resolved
  • 2 Major
  • Resolution: Not a Bug
  • ehcache-core
  • interfaces
  • Reporter: deepy
  • March 27, 2013
  • 0
  • Watchers: 4
  • June 06, 2013
  • April 16, 2013

Description

I created a cache, inserted around 1 million entries (less than maxElementsInMemory) and for each entry I put in the cache, a DiskMarker was created. Even though maxElementsInMemory has not been reached.

The DiskMarkers are taking up almost the same amount of memory as the Elements.

<ehcache>
   <diskStore path="/home/deepy/cache"/>
 <cache 
     name="first" 
     maxElementsInMemory="1048579"
     eternal="true"
     overflowToDisk="true"
     memoryStoreEvictionPolicy="LFU"
     diskPersistent="false" />
 </ehcache>

Comments

Alexander Snaps 2013-04-01

Quickly reviewing this, I think this is “as designed” and … not a bug

Chris Dennis 2013-04-16

The tiering model used in Ehcache is not an overflow model. The upper tiers (e.g. heap) act as caches on the lower tiers (e.g. disk). This means every thing put in to the cache is stored in the lower tiers, and may be cached in the upper tiers. Hence there is one DiskMarker object for every entry in the cache.