MaTransaction memory hog

Carlo snoobabk at yahoo.ie
Fri Oct 23 18:56:39 UTC 2009


Hi

First off I'd like to say what a pleasure working with Magma has been  
so far and I haven't even got to the HA functionality :)

I noticed in my little app that memory was increasing over a few days.  
I think I pinpointed it to MaTransaction not finalizing the readSet.
i.e. in MaTransaction>>initialize
	super initialize.
	readSet := MagmaPreferences weakIdentityKeyDictionaryClass new.
	largeCollectionChanges := WeakSet new.
	self resetCommitPackage.
	ignoreModifiedSignals := false.
	"Conveniently initialized to avoid nil check in code."
	commitNumber := 0

I modified the initialization of the readSet to be registered with the  
finalization process (WeakArray addWeakDependent: readSet.) i.e
	super initialize.
	readSet := MagmaPreferences weakIdentityKeyDictionaryClass new.
	WeakArray addWeakDependent: readSet.
...

So far memory has improved and sits around 70mb consistently.
Hopefully this will be helpful for someone else.
Cheers


More information about the Magma mailing list