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 >> 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.
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 asks. -- Dieter _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev