Shane Hathaway wrote at 2008-1-31 11:35 -0700:
>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
>> In this case, how does the storage know when it can forget
>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.
Then the storage (backend) must maintain all object invalidations down to
the latest transaction id that might be used in a poll.
If it does not, some invalidations may be missing when this poll
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org