[elephant-devel] postmodern btree problem

Ian Eslick eslick at media.mit.edu
Sat Jan 3 12:59:17 UTC 2009


Do you have the latest version of elephant-unstable as of a day or two  
ago?  The *current-transaction* behavior you mention is suspicious and  
I recently made a change to that part of the code which may have  
inadvertently made a change that effected the postmodern policy.   
Ensure transaction simply calls its body if *current-transaction* is  
bound, otherwise it behaves like with-transaction.

Ian

On Jan 2, 2009, at 1:52 PM, Hugo Duncan wrote:

>
> On Fri, 02 Jan 2009, Alex Mizrahi wrote:
>> HD> I am having trouble reducing the code to a sensible test case  
>> that
>> HD> exhibits the same behaviour.  Any suggestions on how I can  
>> track this
>> HD> down?
>
>> what kind of objects do you put in this btree? i think i've seen a  
>> problem with upgrading btree object type, it might be related.
>
> I am storing objects of a single persistant class, with 7 slots  
> containing integers or floats, into the btree.  The keys are  
> integers.  Changing the class to be a standard class does not cange  
> the problem.
>
>> what's the structure of your code? do you just get slot's value and  
>> read/write
>> to btree, or something else?
>
> The btree is created on object creation, and only has key/values  
> inserted and read.
>
>> do you have transactions that are aborted?
>
> No, I have a single transaction (WITH-TRANSACTION) around my test  
> case, and I start with an empty (freshly created) database.  I  
> notice however, that a EXECUTE-TRANSACTION is being run for each  
> persistant object I create within the WITH-TRANSACTION body.   
> ELEPHANT:*CURRENT-TRANSACTION* doesn't seem to be bound, so the  
> ENSURE-TRANSACTION wrapping the object creation is calling EXECUTE- 
> TRANSACTION.  Attached is a small test case and its output when I  
> run it.
>
> I'm not sure that is causing my problems though, as other code  
> exhibits the same behaviour and runs OK.
>
>> do you have multiple threads?
>
> No, single thread.
>
> Thank you, Alex, for taking the time to help with this.
>
> Hugo<elephant-transaction.lisp><elephant- 
> transaction.txt>_______________________________________________
> 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