[ZODB-Dev] Re: ZODB Blob implementation

Toby Dickenson tdickenson at devmail.geminidataloggers.co.uk
Tue Jun 14 05:03:31 EDT 2005

On Saturday 11 June 2005 13:15, Christian Theune wrote:

> I just wanted to check if you're still interested in having a look at
> the new Blob implementation of ZODB.

I had a look a while ago, and sent you some comments by private email. The 
machine it was sent from is currently offline, so I cant dig up that email 
right now...

Following comment are from memory:

> Jim especially would appreciate it if you would look at the commit
> semantics we went for.

There are two problems with implementing your own commit logic. Firstly, the 
theoretically unfixable distributed transaction problem - there will always 
be a small window where a crash can leave a transaction's blobs committed but 
the pickles uncommitted.

The second problem with implementing your own commit logic is that you need to 
*implement* that commit logic. It is quite a few lines of code, and from 
memory there were a couple of outstanding problems. (I dont remember 
details :-(

I think a better solution would be to rely on the underlying pickle storage as 
the authority on whether a given transaction was actually committed. That 
absolves you of the responsibility of rollback, and of tracking the id of the 
most recent transaction. I think I had a cunning implementation strategy too; 
Ill take another look if you cant dig out that email.

Toby Dickenson

More information about the ZODB-Dev mailing list