<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Esteban,<div class=""><br class=""></div><div class="">The cache implementation changed with Seaside 3.3 (<a href="https://github.com/SeasideSt/Seaside/wiki/Seaside330Changelog" class="">https://github.com/SeasideSt/Seaside/wiki/Seaside330Changelog</a>)</div><div class=""><br class=""></div><div class="">As you say, the sweeping is done on every cache access. </div><div class="">So, every time a session is accessed/created, the entire session cache is swept. (In Gemstone, this is different: a separate process is used to sweep the cache, where an instance of WABulkReapingCache is used instead).</div><div class="">As far as I remember, this has not changed from previous 3.x versions.</div><div class=""><br class=""></div><div class="">Does your session instance receive the #unregistered message ?<br class=""><div>Are relying on #expiredRegistryKey being sent to the app?</div><div><br class=""></div><div>Cheers</div><div>Johan</div><div><br class=""><blockquote type="cite" class=""><div class="">On 17 Aug 2020, at 23:27, Esteban Maringolo <<a href="mailto:emaringolo@gmail.com" class="">emaringolo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi all,<br class=""><br class="">I noticed that in recent versions of Seaside there was a change (to my<br class="">knowledge) in the way Sessions and other objects in a WACache are<br class="">reaped.<br class=""><br class="">I have a model where each Seaside session (my own subclass of<br class="">WASession, GwSession) has a "system" object that has its own<br class="">GlorpSession. So in the #unregistered I log out from the database,<br class="">freeing the connection.<br class=""><br class="">So my question is: how is the cache reaping invoked?<br class="">I noticed there is a #sweepIncrementally method that seems to be<br class="">called before each access to the cache (this is new to me). Is there<br class="">something else to it? Should I check somewhere else?<br class=""><br class="">For some reason, my unregister event is not freeing up the<br class="">connections, even though the sessions expired both in absolute and<br class="">relative age. I also need a pooled database accessor, but that's a<br class="">different story :-).<br class=""><br class="">Regards!<br class=""><br class="">Esteban A. Maringolo<br class="">_______________________________________________<br class="">seaside mailing list<br class=""><a href="mailto:seaside@lists.squeakfoundation.org" class="">seaside@lists.squeakfoundation.org</a><br class="">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside<br class=""></div></div></blockquote></div><br class=""></div></body></html>