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