[elephant-devel] Migration and garbage collection
Ian Eslick
eslick at media.mit.edu
Sat Mar 22 16:02:09 UTC 2008
I should have said ":weak allows map-class over any class instances
not explicitly deleted or GC'd"
Ian
On Mar 22, 2008, at 11:47 AM, Ian Eslick wrote:
> Good suggestion!
>
> I implemented this via the original :index class option which is 't'
> by default but can also be 'nil' (asserts an error on get-instances-
> by-class/map-class) and ':weak' which inhibits copying class
> elements that aren't reachable from root during migration, but
> allows map-class for any non-deleted class. When we have an online
> GC solution map-class will operate with the same semantics as weak
> arrays/hashes.
>
> Ian
>
> On Mar 22, 2008, at 8:20 AM, Henrik Hjelte wrote:
>>
>>
>> On Sat, Mar 22, 2008 at 5:11 AM, Ian Eslick <eslick at media.mit.edu>
>> wrote:
>> In the past, we've been able to reclaim instances that were not
>> reachable from the root or in an indexed object. However, with the
>> new schema model, all persistent objects are reachable implicitly by
>> being in the store's oid->class table (i.e. a get-instances-by-class
>> now works for any persistent class). Thus to reclaim storage you
>> have
>> to explicitly drop an instance.
>>
>> Is this good or bad? It's nice to always be able to reach instances
>> of a class, but for reclamation we could have a class option which is
>> something like :weak-class-index t. That is instances may be
>> reachable by get-instances-by-class but it's not guaranteed after a
>> gc
>> or migration.
>>
>>
>>
>> Anyone have thoughts on this? How should we define reachability in
>> this new model?
>>
>> I think this is a good idea. In some cases you might *not* want the
>> instances to be reached, there could be an option for that as well
>> such as :class-indexed nil.
>>
>> /Henrik
>>
>> _______________________________________________
>> elephant-devel site list
>> elephant-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/elephant-devel
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list