[Seaside] Seaside sessions not being either unregistered or GCed
johan at inceptive.be
Sat Jul 4 07:34:50 UTC 2015
Is this in Pharo or Gemstone?
> On 03 Jul 2015, at 23:41, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
> Hi guys,
> I am having a hard time to see why my seaside sessions are not being GCed nor unregistered.
> First of all, when I register my app, I set a timeout. I even tried with 1 minute timeout:
> app cache expiryPolicy configuration at: #cacheTimeout put: 60
> I put a halt in MySessionSubclass >> #unregistered (which then calls super).
> I have seen many seaside things around:
> WARenderVisitor instanceCount -> 77.
> WAHtmlCanvas instanceCount -> 1061.
> JQueryClass instanceCount -> 13492.
> WACallbackRegistry instanceCount -> 77.
> MySessionSubclass -> 12.
> As you can see, I have plenty of memory around callbacks registries, renders, visitors, sessions etc... If I try to see which sessions were expired:
> MySessionSubclass allInstances select: [ :each | (each instVarNamed: 'parent') isNil ] -> #()
> The 'parent' instVar there is because "super unregistered" does that and I don't know another way to check if a session is expired or not.
> Finally, the only way I have to get rid of everything is this way:
> WAApplication allInstances do: [ :each | each clear ].
> But then, that clears all sessions...even the active ones which I don't want. So.... how can I force the GC of all none expired sessions? And why my sessions are not receiving #unregistered ?
> Note also that in my example the instanceCount of MySessionSubclass is bigger than 10, because somewhere I read that Seaside would start cleaning sessions upon 10th.
> So.... any idea? What am I doing wrong?
> Thanks in advance,
> http://marianopeck.wordpress.com <http://marianopeck.wordpress.com/>
> seaside mailing list
> seaside at lists.squeakfoundation.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the seaside