Bugs item #1686277, was opened at 2007-03-22 13:29
Message generated for change (Settings changed) made by tdonohue
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=119984&aid=1686277&group_id=19984

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Content Mgmt
Group: None
>Status: Closed
>Resolution: Out of Date
Priority: 5
Private: No
Submitted By: Flavio Botelho (nuncanada)
Assigned to: Nobody/Anonymous (nobody)
Summary: Cached Bitstream and Bundles have wrong Context stored

Initial Comment:
Basically the caching system caches Bitstreams and Bundles but these have 
pointers to the Context object.

What happens is that after the first hit, the second one comes from the cache, 
and these objects from cache try to use the context they have stored, these 
refer to the first hit Context and so every kind of error can issue.

Particularly it tried to use the DB connection from the old Context which was 
closed making it not work at all...

I suggest Bitstream and Bundle be refactored to remove pointers to 
DSpaceContext.

I didnt have time nor could see right away why this led to even more disastrous 
errors as even if it was a NullPointerException that was being thrown somehow 
the connection were not being closed in the servlet try/catch, consuming all 
the connections after some hits...

----------------------------------------------------------------------

Comment By: Flavio Botelho (nuncanada)
Date: 2007-03-22 14:03

Message:
Logged In: YES 
user_id=18555
Originator: YES

It's being stored in BrowseCache.

The cache is being called at
Browse.doBrowse(BrowseScope scope)
>        BrowseInfo cachedInfo = BrowseCache.get(scope);

The BrowseInfo coming from the cache can have Bistreams and Bundles with
old Contexts...

Interestingly on my Windows dev machine the same behaviour was not
happening (i guess because of mem parameters the GC was running almost at
every hit, invalidating the browse cache...)

----------------------------------------------------------------------

Comment By: Robert Tansley (rtansley)
Date: 2007-03-22 13:36

Message:
Logged In: YES 
user_id=166234
Originator: NO

Which cache are you talking about?  The cache within the
org.dspace.core.Context object has the same lifetime as the Context itself,
so when the Context is gone, the cached objects are gone.  Where is there a
cached Bundle or Bitstream object that is used across multiple Contexts?

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=119984&aid=1686277&group_id=19984

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Dspace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-devel

Reply via email to