java - Cache entry is not removed from cache store (SingleFileCacheStore) -
i using singlefilecachestore
. have set maxentries
0 passivation
disabled
<persistence passivation="false" > <singlefile fetchpersistentstate="true" preload="true" ignoremodifications="false" purgeonstartup="false" maxentries="0" > </singlefile> </persistence>
in application firing cache.remove(key)
, still see entries in underlying file.
any clue, whats wrong? need call api.
the space entry marked , reused new or updated entries. see old data, until new written.
when purge processed file truncated / shrinked. singlefilecachestore
implementation simple, happens if there free space @ end of file. there no compaction if have free space somewhere in middle of file. not perfect, quite enough, since there fluctuation in entries within cache. means, if force purge file may not truncated, when there free space.
see under eviction in documentation how control purge. is:
the purpose of evictionmanager drive eviction/expiration thread periodically purges items datacontainer. if eviction thread disabled (wakeupinterval set -1) eviction can kicked off manually using evictionmanager.processeviction(), example maintenance thread may run periodically in application.
Comments
Post a Comment