Gosts objects

Norberto Manzanos nmanzanos at gmail.com
Thu Sep 13 15:06:58 UTC 2007


Hi Chris and people.

Something really strange has just happened with Magma.

I had a repository. One of its collections had about 11000 objects.
I made a massive adding of about 600 objects. 10 objects per
transaction, refreshPersistentObjects... seting to false, readStrategy
with depth 0.
When the process finished, the size of the collection was about 11600.
I noticed the files of the repository hadn't change. When I closed the
session the collection size was 11000 again. Where were the other? I
tried sending an #abort (but the whole process was inside
transactions,so, what for?), then I sent a #cleanUp to MagmaSession (I
don't known why, magic perhaps). Surprisingly, when I reconnected the
session and requested the size again, it was 600!. I swear I didn't
drink nothing but coffee, but when I closed and reconnected the
session one more time, the collection had the 11000 of the beginning.
The objects file hadn't changed and the size of the squeak image was
about 150 Mb. So, they were allways in memory ... but where exactly?
There was only one instance of MagmaRepositoryController and two
instances of MagmaSession, one my session, and a __system session.

This is not the first time that many objects disapears in the air.
What I really want to understand is what could be the reason that
several #add: to the repository inside a transaction could not be
actually saved in the files and keeps in memory.

Thanks in advance.
Norberto


More information about the Magma mailing list