[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