[Seaside] New errors, old errors in the dolphin's seaside

Avi Bryant avi.bryant at gmail.com
Sun Nov 27 05:24:43 CET 2005


On Nov 26, 2005, at 6:59 PM, Esteban A. Maringolo wrote:
> Indeed, they started to work :-D
>
> Thanks for the hint!
>
> Now we must wait and authoritative answer for the side effects of no
> using a weak container.

Well, the side effects are that memory use for an individual session  
will grow faster.  When the session itself is expired, the memory  
will be reclaimed, so there's no danger of a long-term leak, but the  
runtime footprint of your seaside application will be larger (and  
more tied to the length of the session).

I'm actually not convinced that expiring parts of a session via weak  
dictionaries is that great an idea anyway.  For one thing, some  
people (especially Netstyle, who have some of the more heavily used  
Seaside deployments out there) have seen some horrific CPU usage in  
Squeak when the weak dictionaries grow too large.  For another, the  
references between continuations get messy enough that it's very hard  
to predict whether and when any memory is actually getting  
collected.  And finally, expiring "old" pages can lead to some really  
bad user experiences if they ever open up multiple windows on the  
same session (since you can easily use one window to push the  
frontmost page of the other window into expiry, at which point that  
other window is totally unusable).  So I'd like to find some other  
ways to manage long-running sessions.

Avi


More information about the Seaside mailing list