[ANN] Magma 1.0r40
Florian Minjat
florian.minjat at gmail.com
Mon Sep 24 12:04:07 UTC 2007
I installed the whole new thing and tested it right away with my 'big
update' and got an error each time (I tested three times to be sure) :
I didn't do anything to use a special collection or anything.
EXCEPTION : MagmaInvalidOid: 3298536245786 is not a valid oid. (13:49:09)
MagmaSession>>signalExceptionLike:
self <- a MagmaSession
temps
anException <- MagmaInvalidOid: 3298536245786 is not a
valid oid.
signalableError <- MagmaInvalidOid: 3298536245786 is not
a valid oid.
inst vars
id <- 2
user <- a MagmaUser
id = update
serializer <- a MaObjectSerializer
transaction <- a MaTransaction
readStrategy <- a WAMagmaReadStrategyDefault
definition <- a MagmaRepositoryDefinition
preferences <- a MagmaPreferences
anchor <- a MaRootAnchor
transactionLevel <- 1
link <- a MaLocalServerLink
strongReferences <- an OrderedCollection()
MagmaSession>>submit:
self <- a MagmaSession
temps
aMagmaRepositoryRequest <- a MaRefreshSegmentRequest
result <- MagmaInvalidOid: 3298536245786 is not a valid oid.
inst vars
id <- 2
user <- a MagmaUser
id = update
serializer <- a MaObjectSerializer
transaction <- a MaTransaction
readStrategy <- a WAMagmaReadStrategyDefault
definition <- a MagmaRepositoryDefinition
preferences <- a MagmaPreferences
anchor <- a MaRootAnchor
transactionLevel <- 1
link <- a MaLocalServerLink
strongReferences <- an OrderedCollection()
MagmaSession>>refreshSegment:of:where:pageSize:using:loadObjects:
self <- a MagmaSession
temps
aMagmaCollectionReaderSegment <- a
MagmaCollectionReaderSegment 1..1 of 1 | 0
aMagmaCollection <- a MagmaCollection
aMaTerm <- a MaClause (login
55581004787803423704017422417120985088..55581004787803423704017422417120985088)
anInteger <- 125
aMaReadStrategy <- nil
aBoolean <- true
segment <- nil
inst vars
id <- 2
user <- a MagmaUser
id = update
serializer <- a MaObjectSerializer
transaction <- a MaTransaction
readStrategy <- a WAMagmaReadStrategyDefault
definition <- a MagmaRepositoryDefinition
preferences <- a MagmaPreferences
anchor <- a MaRootAnchor
transactionLevel <- 1
link <- a MaLocalServerLink
strongReferences <- an OrderedCollection()
MagmaCollection>>refreshSegment:where:pageSize:using:loadObjects:
self <- a MagmaCollection
temps
aMagmaCollectionReaderSegment <- a
MagmaCollectionReaderSegment 1..1 of 1 | 0
aMaTerm <- a MaClause (login
55581004787803423704017422417120985088..55581004787803423704017422417120985088)
anInteger <- 125
aMaReadStrategy <- nil
aBoolean <- true
inst vars
session <- a MagmaSession
changes <- a MagmaCollectionChanges
indexes <- an OrderedCollection(a MaSearchStringIndex
login a MaIntegerIndex rank a MaIntegerIndex worldId)
descriptions <- an OrderedCollection(a
MagmaIndexDescription a MagmaIndexDescription a MagmaIndexDescription )
MagmaCollectionReader>>refreshSegment:loadObjects:
self <- a MagmaCollectionReader
temps
aMagmaCollectionReaderSegment <- a
MagmaCollectionReaderSegment 1..1 of 1 | 0
aBoolean <- true
sortIndex <- nil
inst vars
collection <- a MagmaCollection
expression <- a MaClause (login
55581004787803423704017422417120985088..55581004787803423704017422417120985088)
readStrategy <- nil
trunk <- a MaQueryTrunk
segment <- nil
segments <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
pageSize <- 125
reversed <- false
localAdditionsSegment <- nil
[] in MagmaCollectionReader>>segmentContaining: {[:foundSegment |
self refreshSegment: foundSegment loadObjects: true. foun...]}
self <- a MagmaCollectionReader
temps
anInteger <- 1
desiredSegment <- nil
each <- a MagmaCollectionReaderSegment 1..1 of 1 | 0
foundSegment <- a MagmaCollectionReaderSegment 1..1 of
1 | 0
inst vars
collection <- a MagmaCollection
expression <- a MaClause (login
55581004787803423704017422417120985088..55581004787803423704017422417120985088)
readStrategy <- nil
trunk <- a MaQueryTrunk
segment <- nil
segments <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
pageSize <- 125
reversed <- false
localAdditionsSegment <- nil
[] in OrderedCollection(Collection)>>maDetect:ifFound:ifNone:
{[:element | (aBlock value: element) ifTrue: [^ foundBlock value:
element]...]}
self <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
temps
aBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[:each | each
includesIndex: anInteger]}
foundBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[:foundSegment | self
refreshSegment: foundSegment...etc...
exceptionBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[[desiredSegment := self
getNextSegmentAndLoad: tru...etc...
element <- a MagmaCollectionReaderSegment 1..1 of 1 | 0
inst vars
array <- an Array(nil nil a MagmaCollectionReaderSegment
1..1 of 1 | 0 nil nil nil nil nil nil nil)
firstIndex <- 3
lastIndex <- 3
OrderedCollection>>do:
self <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
temps
aBlock <- [] in
OrderedCollection(Collection)>>maDetect:ifFound:ifNone: {[:element |
(aBlock value: element) ...etc...
index <- 3
inst vars
array <- an Array(nil nil a MagmaCollectionReaderSegment
1..1 of 1 | 0 nil nil nil nil nil nil nil)
firstIndex <- 3
lastIndex <- 3
OrderedCollection(Collection)>>maDetect:ifFound:ifNone:
self <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
temps
aBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[:each | each
includesIndex: anInteger]}
foundBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[:foundSegment | self
refreshSegment: foundSegment...etc...
exceptionBlock <- [] in
MagmaCollectionReader>>segmentContaining: {[[desiredSegment := self
getNextSegmentAndLoad: tru...etc...
element <- a MagmaCollectionReaderSegment 1..1 of 1 | 0
inst vars
array <- an Array(nil nil a MagmaCollectionReaderSegment
1..1 of 1 | 0 nil nil nil nil nil nil nil)
firstIndex <- 3
lastIndex <- 3
MagmaCollectionReader>>segmentContaining:
self <- a MagmaCollectionReader
temps
anInteger <- 1
desiredSegment <- nil
each <- a MagmaCollectionReaderSegment 1..1 of 1 | 0
foundSegment <- a MagmaCollectionReaderSegment 1..1 of
1 | 0
inst vars
collection <- a MagmaCollection
expression <- a MaClause (login
55581004787803423704017422417120985088..55581004787803423704017422417120985088)
readStrategy <- nil
trunk <- a MaQueryTrunk
segment <- nil
segments <- an OrderedCollection(a
MagmaCollectionReaderSegment 1..1 of 1 | 0)
pageSize <- 125
reversed <- false
localAdditionsSegment <- nil
Igor Stasenko wrote:
> On 23/09/2007, Chris Muller <asqueaker at gmail.com> wrote:
>> Sig contributed a simple change that lets you plug whatever dictionary
>> you want. This is included in this release, so you can set it up as
>> part of your application-initialization.
>>
>> But sig's new Dictionary's themselves arrived too late to incorporate
>> as the default into this release. There is much testing and measuring
>> and comparing with other Dictionary solutions (such as those from
>> Martin Loewis) needed before making a switch to a new default Weak
>> Dictionary.
>
> I don't know, maybe better was to keep my dictionaries as separate
> package. Previously, i had a package with 'B' single prefix in class
> names. But then, since i implemented them mainly for use with magma i
> decided to rename them with Ma prefix and replace existing ones
> directly in magma.
>
> And please, let me remind you, that magma uses two kinds of weak dictionaries:
> WeakIdentityKeyDictionary
> and
> WeakValueDictionary
> Previously i added a way to choose only one of them in
> MagmaPreferences class (for WeakIdentityKeyDictionary).
>
> Now, i added snapshot, which fills the gap, and also makes use of it in
> MaOidManager and MagmaOidManager code.
>
> Now, there's no direct references to any weak dictionary classes
> within magma client code, they are rely on those, which set in
> MagmaPreferences.
>
> see Magma client-sig.258 in magma-tester repo. It based on Magma
> client-cmmr50.256.
>
>> - Chris
>>
>> On 9/23/07, Florian Minjat <florian.minjat at emn.fr> wrote:
>>> Great I'll test it with my app right away !
>>> Does it include collection optimisation from sig or others ?
>>>
>>> Florian
>>>
>>> Chris Muller wrote:
>>>> I am pleased to announce release 40 of the Magma object database for
>>>> Squeak, offering a significant boost in robustness from the previous
>>>> version:
>>>>
>>>> - No longer constrained by Squeaks 2GB file-addressability, Magma can
>>>> now support unlimited file sizes (configured out of the box for up to
>>>> 281 Terabyte sized files).
>>>> - Full backups are now truly "live", with no pause in service.
>>>> - There is now support for a "warm backup," for rapid failover capability..
>>>> - ..and server load distribution for clients that can tolerate a
>>>> slightly-behind, read-only repository (i.e., for reporting, archive
>>>> retrieval, etc.).
>>>> - The MagmaCollectionIndex hierarchy is no longer required on the server.
>>>> - The server correctly ignores garbage bytes sent by hackers to its
>>>> listening port.
>>>> - Other enhancements and some important bug fixes.
>>>>
>>>> Nearly every feature and fix has originated at the request of members
>>>> of the Squeak community. This is your database. I plan to continue
>>>> supporting, improving, and ensuring you have a good experience using
>>>> Magma. Please tell me what you need on the Magma mailing list.
>>>>
>>>> This one single code-base has been installed and tested successfully
>>>> in the 3.7, 3.8, 3.9, Tweak, Croquet 1.0SDK and sq3.9-7067dev07.07.1
>>>> images. Other images may work, I just haven't tested them, you can
>>>> use the "Magma tester" to find out. In images without
>>>> MethodProperties (3.7 and 3.8), Monticello will provide a friendly
>>>> pink warning that a few extension methods will not load. This is ok,
>>>> just press Proceed. It's better than maintaining different code bases
>>>> for each version of Squeak.
>>>>
>>>> Since its earliest days, Magma has been a "one-click" install and this
>>>> version is no different. There are three configurations available on
>>>> SqueakMap and SqueakSource; "client", "server" and "tester". The
>>>> former simply exclude certain packages that are not needed for that
>>>> function.
>>>>
>>>> - Chris
>>>>
>>>>
>>>
>>
>
>
More information about the Magma
mailing list