[ZODB-Dev] Concurrent transactions

Stefan H. Holek stefan at epy.co.at
Fri Jun 1 05:39:32 EDT 2007


Counting in the ZODB is more or less a no-go. You will get write  
conflicts, and your ZODB will grow (too) quickly. That said, you may  
want to look at BTrees.Length for a "counter" with built-in conflict  
resolution.

Stefan


On 1. Jun 2007, at 09:47, Kai Diefenbach wrote:

> After reading some documentation about transactions, concurrency and
> atomicity, I don't think that the following issue is a problem, but  
> I'd
> be nice to get confirmation from some exports. Or - of course -  
> that it
> doesn't behave in the way I think.
>
> Within an adapter I increase a counter (e.g. for every download of an
> file) by doing:
>
>         self.counter[0] += 1
>
> self.counter is a PersistentList stored as annotation.
>
> Could there be a problem with concurrent access to the counter? With
> other words:

--
Anything that, in happening, causes something else to happen,
causes something else to happen.  --Douglas Adams




More information about the ZODB-Dev mailing list