Indeed Igor! I was making the test in an unrealistic fashion from the application magma usability point of view. Thanks a lot for the clue.
Now I've made a test comiting first the model in some root's key and then adding sample objects to it comitin changes from time to time. Magma behaves well until the image goes bigger than 200 megabytes in ram.
cheers,
Sebstian
-----Mensaje original----- De: Igor Stasenko [mailto:siguctua@gmail.com] Enviado el: Sábado, 20 de Octubre de 2007 09:05 Para: Sebastian Sastre Asunto: Re: Saving big objects?
I think, the answer is to not put too many data in single transaction. Simply divide your model populating on smaller stages and everything should be just fine. Like:
session commit: [ "add fisrt 1000 objects"]. session commit: [ "add second 1000 objects" ]. ....
On 20/10/2007, Sebastian Sastre ssastre@seaswork.com wrote:
Hi Chris, all,
I've been reading some Gjallar code to see how they use
Magma. I
saw the a main object which is tha application model and it
has 4 or 5
MagmaCollections in it's instVars.
So I in a load test I've made a model object with a magma
collection with 10000 person objects. It performed nicely.
Then I pushed that by making this person object to
store in one of
it's instVars #acts and set up there a magma collection and
added 20
acts objects to every person. So it should end up with 10K persons having one magma collection with 20 act objects each.
What I've got is a serializer security exception
MaObjectSerializationSecurityViolation saying that one
can't serialize
objects of more than 10 megabytes.
I've read about starting small with Magma but I need a
glimpse on
how the model I'm thinking on support with Magma will
scale. From this
test it seems that Magma collections supports lots of
objects but any
common object suporting even a low number of magma collections that will be growing will easily reach more that 10 megabytes when serialized. So I'm missing something? There is a more
appropiate use of Magma for a model like that?
Same question in other scenario: the main object of the domain
model the root of the application domain from where all is
accessed by
reachability will also suffer this limitation. What one can
do at that point?
thanks,
Sebastian Sastre
Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
-- Best regards, Igor Stasenko AKA sig.
magma@lists.squeakfoundation.org