Skip to content

Commit

Permalink
Merge pull request #40 from zopefoundation/asyncio
Browse files Browse the repository at this point in the history
Asyncio-based ZEO client and server (2)
  • Loading branch information
jimfulton committed Aug 13, 2016
2 parents 5069266 + beb5086 commit f4eeb59
Show file tree
Hide file tree
Showing 97 changed files with 9,681 additions and 5,417 deletions.
38 changes: 29 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,35 @@
language: python
sudo: false
python:
- 2.7
- 3.3
- 3.4
- pypy
matrix:
include:
- os: linux
python: 2.7
- os: linux
python: 3.4
- os: linux
python: 3.5
- os: linux
python: 3.4
env: ZEO_MTACCEPTOR=1
- os: linux
python: 3.5
env: ZEO_MTACCEPTOR=1
- os: linux
python: 2.7
env: ZEO4_SERVER=1
- os: linux
python: 3.5
env: ZEO4_SERVER=1
- os: linux
python: 3.5
env: BUILOUT_OPTIONS=extra=,uvloop
install:
- pip install -U setuptools
- python bootstrap.py
- bin/buildout
- pip install zc.buildout
- buildout $BUILOUT_OPTIONS
cache:
directories:
- eggs
script:
- bin/test -v1 -j99
- bin/test -v1j99
notifications:
email: false
98 changes: 97 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,105 @@
Changelog
=========

4.2.0 (unreleased)
- Added a ``ClientStorage`` ``server-sync`` configuration option and
``server_sync`` constructor argument to force a server round trip at
the beginning of transactions to wait for any outstanding
invalidations at the start of the transaction to be delivered.

- When creating an ad hoc server, a log file isn't created by
default. You must pass a ``log`` option specifying a log file name.

- 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
blocking synchronous ZEO server calls for a limited time while
disconnected, this change should allow brief disconnections due to
server restart to avoid generating client-visible errors (e.g. 500
web responses).

- Fixed bugs in using the ZEO 5 client with ZEO 4 servers.

5.0.0a2 (2016-07-30)
--------------------

- Added the ability to pass credentials when creating client storages.

This is experimental in that passing credentials will cause
connections to an ordinary ZEO server to fail, but it facilitates
experimentation with custom ZEO servers. Doing this with custom ZEO
clients would have been awkward due to the many levels of
composition involved.

In the future, we expect to support server security plugins that
consume credentials for authentication (typically over SSL).

Note that credentials are opaque to ZEO. They can be any object with
a true value. The client mearly passes them to the server, which
will someday pass them to a plugin.

5.0.0a1 (2016-07-21)
--------------------

- Added a ClientStorage prefetch method to prefetch oids.

When oids are prefetched, requests are made at once, but the caller
doesn't block waiting for the results. Rather, then the caller
later tries to fetch data for one of the object ids, it's either
delivered right away from the ZEO cache, if the prefetch for the
object id has completed, or the caller blocks until the inflight
prefetch completes. (No new request is made.)

- Fixed: SSL clients of servers with signed certs didn't load default
certs and were unable to connect.

5.0.0a0 (2016-07-08)
--------------------

This is a major ZEO revision, which replaces the ZEO network protocol
implementation.

New features:

- SSL support

- Optional client-side conflict resolution.

- Lots of mostly internal clean ups.

Dropped features:

- The ZEO authentication protocol.

This will be replaced by new authentication mechanims leveraging SSL.

- The ZEO monitor server.

- Full cache verification.

- Client suppprt for servers older than ZODB 3.9

- Server support for clients older than ZEO 4.2.0



4.2.0 (2016-06-15)
------------------

- Changed loadBefore to operate more like load behaved, especially
with regard to the load lock. This allowes ZEO to work with the
upcoming ZODB 5, which used loadbefore rather than load.

Reimplemented load using loadBefore, thus testing loadBefore
extensively via existing tests.

- Other changes to work with ZODB 5 (as well as ZODB 4)

- Fixed: the ZEO cache loadBefore method failed to utilize current data.

- Drop support for Python 2.6 and 3.2.

4.2.0b1 (2015-06-05)
Expand Down
Loading

0 comments on commit f4eeb59

Please sign in to comment.