[Seaside] Garbage Collection - summary

Bany, Michel mbany at cincom.com
Thu Jun 9 10:12:47 CEST 2005


> I hope that by tomorrow, Michel Bany from VW, will have time 
> to have a look at this.

Hi Günther,

There has been lots of contributions on this topic and I am trying
to build a summary below.

(1) As noted by Rado and others there is a bug in the Squeak compatibility
method allSubInstances method. It should be changed to :

	Object class >> allSubInstances
		^self allGeneralInstances

I will integrate this change in the port.

(2) It looks to me as if the above bug only affects the situations where
it is desired to release intentionnally and instantly as many objects as
possible, where you want to do "WARegistry clearAllHandlers", i.e. the panic
situation. This bug does not affect the normal Seaside operations.

(3) It looks to me as if Seaside objects are correctly collected as needed
under normal Seaside operations, i.e. collected as intended. It did not find
any report of anomalies in the mailing list.

(4) There seems to be an agreement that the technique currently used by
Seaside for triggering the discarding of expired sessions is not adequate.
The current technique does the discarding once every 10 new sessions in average.

One alternate technique (from Michael Meyer) would be to do the discarding
each time a new session is started:

	WARegistry>>shouldCollectHandlers
     		^true

Another alternate technique (from David Shaffer) would be to have a separate
forked process taking care of the discarding every nnn seconds in the background
allowing the discarding to occur even when there are no new session.

Any other idea ?

(5) As David Shaffer noted, the discarding of expired sessions by Seaside
and the collection of the corresponding garbage by VW are two independent
processes.

Enjoy,
Michel.



More information about the Seaside mailing list