I've tried turning the cache off but I get other transactional and locking
weirdness. I'm testing the effects of setting a low time limit right now.

Also, is Castor/JDO even supported by Intalio any more? A member of my dev
team received an email from someone at Intalio saying that they had a
commercial product that superceded Castor.

If that is the case, then I'll almost be forced to abandon using Castor for
my project.

--Kevin

-----Original Message-----
From: Ned Wolpert [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, March 13, 2002 1:16 PM
To: [EMAIL PROTECTED]
Subject: Re: [castor-dev] Aging and the LRU/Dirty Check cache


Kevin-

  The issue is that objects that are not in a transaction will timeout
when using a time-limited cache option.  If in the last second they are
used for a transaction (even if rolled back I believe) then the time to
flush is reset... which is likely the reason you see this behavior.

  The cache-flush technique you posted is a good first attempt at
flushing the cache, but you're correct that its incomplete.  The cache
mechanism needs to be 'aware' of the object in use for it to be
expired.  More specifically, the object needs to be tracked while its
pulled from the cache and re-inserted into the cache.  If a 'flush'
occurred during the transaction, the object needs to be caught and not
inserted into the cache.  Obviously, this is more than a 5 min hack, but
it does seem to be a doable procedure.

  Since you need to be aware of database changes quickly that occur
outside of your application, you really have only two options; set the
timeout to be 30 seconds, which may cause other strange behavior, or
turn the cache off.  You can turn the cache off for the specific objects
that can be modified outside of your application, and keep cache on for
everything else so that they get the speed benefit from the LRU cache.


On Wed, 2002-03-13 at 09:12, Smith, Kevin wrote:
> All - 
> 
> Has anyone seen an object actually age out of the cache and get refreshed
> from the database? If I read the online documentation correctly, this
should
> happen at some point. In my case, I'm using a time-limited cache with a
> limit of 10 sec. My understanding is that if I wait > 10 sec to do a
query,
> I should get an object whose contents represents that of the database and
> not the cache (because the cache entry has been flushed). I'm not seeing
> that at all.
> 
> I've tried using the cache flush hack I posted to the list a few days ago,
> but I'm running into transaction management issues which are beyond my
> knowledge of the Castor source.
> 
> Any ideas?
> 
> --Kevin
> 
> ----------------------------------------------------------- 
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>       unsubscribe castor-dev
-- 

Virtually, 
Ned Wolpert <[EMAIL PROTECTED]>

D08C2F45:  28E7 56CB 58AC C622 5A51  3C42 8B2B 2739 D08C 2F45 

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to