Magma for Squeak Persistency
udo.schneider at homeaddress.de
Mon Dec 6 08:18:57 MET 2010
I /think/ I got the idea of what's involved ...
A few questions though:
1) Is my assumption correct that every change to a Pier Kernel take the
route through PRPersistency>>#execute:?
2) Let's say I got an complex objectgraph from Magma ... will this
objectgraph be nilled out at the end/refresh of the transaction or will
the materialized object still exist in memory as long as they are not GCed?
On 05.12.10 00:00, Lukas Renggli wrote:
> Of course it would be great to have Magma provide additional safety;
> the possibility to easily move between images; the possibility to
> roll-back; and maybe even serve the same model from different images;
> On 4 December 2010 19:10, Chris Muller<asqueaker at gmail.com> wrote:
>> Well, that project didn't "fail," I just had to move on to other work
>> and have not had a chance to return to it.
>> Traversing the entire object model a lot would certainly require it to
>> be fully materialized into memory, so Magma (or any persistence
>> framework) wouldn't really allow Pier models to effectively move
>> beyond the size of available RAM.
>> But the use of Magma could be beneficial in terms of safety; much
>> safer than "image persistence" since every commit is verified with
>> SHA1, and you can replicate and roll-back the model if necessary, etc.
>> On Sat, Dec 4, 2010 at 2:49 PM, Lukas Renggli<renggli at gmail.com> wrote:
>>>> I had not heard about any attempts to do this. Do you know why they
>>>> were not successful?
>>> You wrote to me in Dezember 2009:
>>> "I will obviously be interested in persisting my Pier sites in Magma.
>>> I have examined the Pier model and grok'd the code related to
>>> persistency, and from this have coded a new Persistency subclass,
>>> PRMagmaPersistency (14 methods)."
>>> I said: "Another thing I should warn you about is that Pier scans its
>>> complete object graph whenever a page is edited, moved, copied,
>>> removed, etc. The same happens when a live search is performed or when
>>> a page is displayed with all its references enumerated. This basically
>>> made my initial attempt of a persistency strategy using GOODS back in
>>> 2003 impossible. I don't know, but I guess this might be a problem for
>>> Magma too, when the complete object graph is traversed several times
>>> for every request?"
>>> After a few more mails back and forth I haven't heard anything
>>> anymore, so I assumed the project failed.
>>> There are is a Pier-Magma package in
>>> <http://source.lukas-renggli.ch/pieraddons> (and a few others that
>>> mention Magma in some commits). I am not sure if they are used and
>>> Lukas Renggli
>>> Magritte, Pier and Related Tools ...
>> Magritte, Pier and Related Tools ...
More information about the smallwiki