Re: Re: Deadlock in oscache 2.0
"David Rees" <[email protected]> Sat, 18 Oct 2003 13:32:32 -0700 (PDT)
| Newsgroups | gmane.comp.java.open-symphony.devel |
|---|---|
| Message-ID | <[email protected]> |
Duh, Looking at the Cache class a bit more closely, it looks like I need to either call putInCache or cancelUpdate each time I call getFromCache. I missed this note in the changes.txt :( - When a NeedsRefreshException is thrown, it is now vital that the cache entry is either updated, or Cache.cancelUpdate(key) is called to release the lock on this cache entry. This is a consequence of the fix for [CACHE-42]. Thanks, Dave On Sat, October 18, 2003 at 1:19 pm, David Rees sent the following > Hi Chris, > > Found the issue and created a test case. > > The problem occurs when a NeedsRefreshException is thrown when calling > getFromCache, but putInCache is not called with the sam key. Then the > next time getFromCache is called, it never returns as it still thinks that > someone is waiting to update the cache entry. Seems like a workaround > would be to always attempt to insert something (even null?) when a > NeedsRefreshException is called. > > I've attached a simple test case which shows the issue. > > -Dave > > On Sat, October 18, 2003 1at 1:06 am, Chris Miller sent the following >> I checked in a fix for a deadlock problem a couple of days ago. The only >> time it occurs is when there are more than two threads waiting on a new >> cache entry to be built, AND you call cancelUpdate(). So give the >> current >> CVS head a try, if that still doesn't solve the problem then file a Jira >> issue and I'll investigate further. If you still see deadlocks then a >> test >> case would be very helpful in tracking down the problem. >> >> (As an aside, there was a nasty threading problem in 1.7.5 that caused a >> memory leak and gradual performance degradation, bear that in mind if >> you >> roll back to 1.7.5 in the meantime). >> >> Chris > ------------------------------------------------------- This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo The Event For Linux Datacenter Solutions & Strategies in The Enterprise Linux in the Boardroom; in the Front Office; & in the Server Room http://www.enterpriselinuxforum.com