r42Gamma6

Chris Muller ma.chris.m at gmail.com
Tue Aug 4 04:41:46 UTC 2009


42 is demanding patience, it's as simple as that.  Let's see if we can
get through a three weeks without any further bug reports and, if so,
hopefully *this* will become the final for 42.

Here are the specific improvements from gamma5:

- HA performance fix.  When sending commit-log records to the
warm-backups, we are now only correctly sending "trimmed" copies
instead of the "private", reused, bloated record, which is as large as
the largest-ever encountered CommitRecord since that server was
started!
- WriteBarrier fixed up and working again.
- Removed MagmaLowOnMemory in favor of the new proper hook into the
LowSpaceWatcher.
- Discovered WeakArray>>#addWeakDependent:.  Using it to keep
MaWeakKey dictionary sizes in check.  This may be less aggressive than
the former 30-second timer, but so far memory utilization seems fine.
- Sigh.  MaRecoveryRecord physicalSize *was* only 3 bytes.  The notion
that we would never have a commit > 16MB was short-sighted; because it
is at least useful for initial transfer of a legacy object model into
Magma.	So, now we have a new definition for MaRecoveryRecord, that
will have 4 bytes for the physicalSize, allowing up to 4GB commits,
should be plenty.		To upgrade,
	- Bring system down.		
	- Launch newly built image with this new code.	
	- Restart system.  A warning is presented to ensure you want to
convert from 11 to 12.
- Possible fix for disconnect hanging when Network error is
encountered on initial disconnect.
- Fix DNU when using #noteOldKeysFor:!
- Ensure not to allow a session to add more than 4 million new objects
in a single transaction, because that exceeds the number of new-object
oids.


More information about the Magma mailing list