[ZODB-Dev] Speedy RelStorage/PostgreSQL

Shane Hathaway shane at hathawaymix.org
Thu Jan 31 13:35:36 EST 2008


Dieter Maurer wrote:
> Shane Hathaway wrote at 2008-1-31 00:12 -0700:
>> ...
>> 1. Download ZODB and patch it with poll-invalidation-1-zodb-3-8-0.patch
> 
> What does "poll invalidation" mean?
> 
>   The RelStorage maintains a sequence of (object) invalidations ordered
>   by "transaction-id" and the client can ask "give me all invalidations
>   above this given transaction id"? It does so at the start of each
>   transaction?
> 
> In this case, how does the storage know when it can forget
> invalidations?

That's not quite right--RelStorage does not maintain any per-client
notification list.  Instead, each client asks whether any transactions
have committed since the last poll.  The transaction ID of the last poll
is tracked by the storage instance bound to the connection.  If any
transactions have committed, then the client gets a list of OIDs changed
by those transactions and invalidates the corresponding objects.

Shane



More information about the ZODB-Dev mailing list