Skip to content

Commit

Permalink
Merge pull request #64 from zopefoundation/register-returns-last-tran…
Browse files Browse the repository at this point in the history
…saction

- The ZEO server register method now returns the storage last transaction
  • Loading branch information
jimfulton committed Aug 5, 2016
2 parents 3ae6ff6 + 2d8e715 commit 6b85a57
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
4 changes: 4 additions & 0 deletions CHANGES.rst
@@ -1,6 +1,10 @@
Changelog
=========

- The ZEO server register method now returns the storage last
transaction, allowing the client to avoid an extra round trip during
cache verification.

- Client disconnect errors are now transient errors. When
applications retry jobs that raise transient errors, jobs (e.g. web
requests) with disconnect errors will be retried. Together with
Expand Down
2 changes: 2 additions & 0 deletions src/ZEO/StorageServer.py
Expand Up @@ -222,6 +222,8 @@ def register(self, storage_id, read_only):
self.stats = self.server.register_connection(storage_id, self)
self.lock_manager = self.server.lock_managers[storage_id]

return self.lastTransaction()

def get_info(self):
storage = self.storage

Expand Down
3 changes: 2 additions & 1 deletion src/ZEO/tests/testZEO.py
Expand Up @@ -831,7 +831,8 @@ def getInvalidationsAfterServerRestart():
>>> sv = StorageServer(None, dict(fs=fs))
>>> s = ZEOStorage(sv, sv.read_only)
>>> s.notify_connected(FauxConn())
>>> s.register('fs', False)
>>> s.register('fs', False) == fs.lastTransaction()
True
If we ask for the last transaction, we should get the last transaction
we saved:
Expand Down

0 comments on commit 6b85a57

Please sign in to comment.