LockEngine is quite hard to explain.
In short, in a synchronized block, you shouldn't
attempt to anything, except two:
1/ acquire or release one read/write lock,
2/ create or dispose a lock from the list of locks.
Whenever you try to do anything else, it is prone
to deadlock.
If you add an evict flag in objectlock, it is fine.
However, you should update the objectlock.isDisposable
to indicate the lock is disposable, instead of trying
to check it in lockengine.
Thomas
-----Original Message-----
>From: Adamo, Vince [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, May 14, 2002 8:45 AM
>To: [EMAIL PROTECTED]
>Subject: Re: [castor-dev] Force loading from database
>
>The patch that Kevin refers to is a modification to my previous
>implementation for clearing/expiring the cache. The previous version, as
>Thomas Yip pointed out, was susceptible to deadlocks because it used a
>coarse, class level lock for synchronization. I have since re-implemented
>the expireCache mechanism to use a finer object level (write) lock for
>synchronization. This implementation also does not require as many changes
>to the LockEngine. This was also done based on another comment from
Thomas.
>The LockEngine is, by necessity, complex and the fewer changes made to the
>LockEngine the better.
>
>My current implementation supports clearing the cache for a specified
>object, including all contained objects. I have tested this implementation
>from a functional level using one-to-many, many-to-many and lazy loaded
>collections. I am currently load/stress testing this implementation.
>Kevin, as he mentioned, is also helping to test it. I hope to complete the
>implementation by providing the ability to clear a class of objects from
the
>cache. But I need to make sure, again, that the implementation does not
>require many changes to the LockEngine and is not prone to deadlocks, in
>addition to any other problems that may arise.
>
>Rainer, please let me know if you willing to help test the current patch.
>
>Thanks,
>Vince
>
>-----Original Message-----
>From: Smith, Kevin [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, May 14, 2002 10:01 AM
>To: [EMAIL PROTECTED]
>Subject: Re: [castor-dev] Force loading from database
>
>
>Vince Adamo is working on a patch that will allow selective purging of
>Castor's internal caches. I'm testing the patch for him, and so far no
>problems.
>
>--Kevin
>
>-----Original Message-----
>From: Bruce Snyder [mailto:[EMAIL PROTECTED]]
>Sent: Tuesday, May 14, 2002 10:58 AM
>To: [EMAIL PROTECTED]
>Subject: Re: [castor-dev] Force loading from database
>
>
>This one time, at band camp, Rainer Mueller said:
>
>RM>I am using castor with a cache. Is there any method to force castor
>RM>to load the objects from the database instead of its cache?
>
>Rainer,
>
>AFAIK, currently the only way to force this is to disable use of the cache.
>
>Bruce
>--
>
>perl -e 'print
>unpack("u30","<0G)U8V4\@4VYY9&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
> unsubscribe castor-dev
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
> unsubscribe castor-dev
>
>-----------------------------------------------------------
>If you wish to unsubscribe from this mailing, send mail to
>[EMAIL PROTECTED] with a subject of:
> unsubscribe castor-dev
>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev