jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Jacobs <djac...@esurg.com>
Subject RE: what happened to my cache keys
Date Fri, 18 Jul 2008 20:44:58 GMT
I've been using JCS 1.2.7.9 probably about a year.  I had this same issue
when loading large numbers of objects into the cache in series - writing
through from memory to disk.  The solution was to set the purgatory max size
to infinite> jcs.auxiliary.DC.attributes.MaxPurgatorySize=-1

Hope this helps,

Dennis

-----Original Message-----
From: vinay b 
Sent: Friday, July 18, 2008 1:19 PM
To: JCS Users List
Subject: Re: what happened to my cache keys


Yes, that's my intent. Basically, I'd like to have this cache persist all
elements on disk file when shut down.

THanks

On Fri, Jul 18, 2008 at 3:10 PM, Tim Cronin <tcronin@interwoven.com> wrote:

> jcs.auxiliary.DC.attributes.maxKeySize=1000000
>
> it should spool to disk for overflow?
>
> -----Original Message-----
> From: Niall Gallagher 
> Sent: Friday, July 18, 2008 1:18 PM
> To: JCS Users List
> Subject: Re: what happened to my cache keys
>
> MaxObjects=10000 ?
>
> On Fri, 2008-07-18 at 13:06 -0500, vinay b wrote:
>
> > I seem to be losing about 90 % of my keys:
> >
> > 1. insert 500,000 elements in the cache via a loop
> > 2. loop through and check whether all elements are accesable
> >
> > The results and code snippets follow:
> >
> > STATS:
> >
> > The stats I get (verified both via a counter I implement) and via the
> > stats() method are
> >
> > Thanks in advance
> >
> > Vin B
> >
> > from my code debugs:
> > found 45963 in 490001 tries
> > end get, ... found 55962 in 500001 tries
> >
> >
> > from the stats:
> > Region Name = testCache1
> > HitCountRam = 0
> > HitCountAux = 55962
> >
> > ---------------------------LRU Memory Cache
> > List Size = 9998
> > Map Size = 9998
> > Put Count = 555962 ==================================> ????
> > Hit Count = 0
> > Miss Count = 500000 =================================> why am I
> missing hits
> > here
> > ---------------------------Indexed Disk Cache
> > Is Alive = true
> > Key Map Size = 55962 ================================> ????
> > Data File Length = 38544627
> > Hit Count = 55962
> > Bytes Free = 0
> > Optimize Operation Count = 0
> > Times Optimized = 0
> > Recycle Count = 0
> > Recycle Bin Size = 0
> > Startup Size = 46431
> > Purgatory Hits = 0
> > Purgatory Size = 0
> > Working = true
> > Alive = true
> > Empty = true
> > Size = 0
> > Jul 18, 2008 12:28:00 PM
> > org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCache$ShutdownHook
> run
> > WARNING: Region [testCache1] Disk cache not shutdown properly,
> shutting down
> > now.
> >
> >
> > CODE
> > # DEFAULT CACHE REGION
> >
> > #jcs.default=DC,LTCP
> > jcs.default=DC
> >
> jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
> es
> > jcs.default.cacheattributes.MaxObjects=10000
> >
> jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
> .lru.LRUMemoryCache
> >
> > # PRE-DEFINED CACHE REGIONS
> >
> > #jcs.region.testCache1=DC,LTCP
> > jcs.region.testCache1=DC
> >
> jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCac
> heAttributes
> > jcs.region.testCache1.cacheattributes.MaxObjects=10000
> >
> jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.eng
> ine.memory.lru.LRUMemoryCache
> > jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
> > jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
> > jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=600
> > jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
> >
> jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAtt
> ributes
> > jcs.region.testCache1.elementattributes.IsEternal=true
> >
> >
> > # AVAILABLE AUXILIARY CACHES
> >
> jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
> actory
> >
> jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
> dDiskCacheAttributes
> > jcs.auxiliary.DC.attributes.DiskPath=c:/tmp
> > jcs.auxiliary.DC.attributes.maxKeySize=1000000
> >
> >
> >
> > ///////////////////////////////////////////
> > package com.interlegis.ehcachevsjcs;
> >
> > import org.apache.commons.logging.Log;
> > import org.apache.commons.logging.LogFactory;
> > import org.apache.jcs.JCS;
> > import org.apache.jcs.access.exception.CacheException;
> > import org.apache.jcs.engine.CompositeCacheAttributes;
> > import org.apache.jcs.engine.behavior.ICompositeCacheAttributes;
> > import org.apache.jcs.utils.struct.LRUMap;
> >
> > public class JCSApp {
> >
> >     private static int MAX_NUM = 500000;
> >
> >     private Log log = null;
> >     private JCS jcs = null;
> >
> >     public void init() throws CacheException {
> >         log = LogFactory.getLog(LRUMap.class);
> >         jcs = JCS.getInstance("testCache1");
> >     }
> >
> >     public void insert(int key) throws CacheException {
> >         jcs.put(Integer.toString(key), new
> MyObjectVO(Integer.toString(key),
> >                 "some string" + Integer.toString(key)));
> >     }
> >
> >     public void insertMany(int maxNum) throws CacheException {
> >         for (int i = 0; i < maxNum; i++) {
> >             insert(i);
> >
> >             if ((i % 10000) == 0) {
> >                 System.out.println("inserted " + i + " records");
> >             }
> >         }
> >     }
> >
> >     public Object get(int key) {
> >         return jcs.get(Integer.toString(key));
> >     }
> >
> >     public void getMany(int maxNum) {
> >         int count = 0;
> >         int i = 0;
> >         for (i = 0; i < maxNum; i++) {
> >             if (get(i) != null) {
> >                 count++;
> >             }
> >
> >             if ((i % 10000) == 0) {
> >                 System.out.println("found " + count + " in " + (i + 1)
> >                         + " tries");
> >             }
> >         }
> >
> >         System.out.println("end get, ... found " + count + " in " + (i
> + 1)
> >                 + " tries");
> >     }
> >
> >     public void junk() {
> >
> >     }
> >
> >     public void printStats() {
> >         ;
> >         System.out.println(jcs.getStats());
> >     }
> >
> >     public static void main(String[] args) {
> >         JCSApp jc = new JCSApp();
> >
> >         try {
> >             jc.init();
> >             jc.insertMany(MAX_NUM);
> >             System.out.println("insert complete");
> >             jc.getMany(MAX_NUM);
> >             jc.printStats();
> >
> >         } catch (CacheException e) {
> >             // TODO Auto-generated catch block
> >             e.printStackTrace();
> >         }
> >
> >     }
> > }
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jcs-users-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Mime
View raw message