[ZODB-Dev] ZEO 2.0a1 release

Jeremy Hylton jeremy@zope.com
Fri, 31 May 2002 11:18:20 -0400


I've just released ZEO 2.0 alpha 1.  It's available from
http://www.zope.org/Products/ZEO. 

This is the first of several (at least one more) alpha releases of ZEO
2.  The CHANGES.txt file describes the most significant changes since
ZEO 1.0; I've included it at the end of this message.

The focus of the current alpha release was on refactoring the code and
redesigning the protocols to make future changes easier.  I expect ZEO
2 to improve on ZEO 1.0 in several ways in future alpha releases,
including better cache management and better performance.  If you're
interested in contributing, now is a great time to propose changes.

The ZEO 2 protocol is not backwards compatible with ZEO 1.  If you
want to upgrade a system, all the clients and servers need to be
upgraded at the same time.  I don't plan to provide backwards
compatibility for 2.0, but could be convinced otherwise if there is
significant user demand.

The test suite seems to be a bit fragile, particularly on Windows.  We
see intermittent errors in the pack tests, which seem to be the result
of the various time.sleep() calls in the tests.  time.sleep() works
alright for a single process test, but doesn't cut it for a test
involving multiple processes.

Jeremy

Revision History, Zope Enterprise Objects, version 2

  ZEO 2.0 alpha 1

    Brief overview of the differences between ZEO 1.0 and 2.0.
      
      - New protocol.

        ZEO 2 uses a different wire protocol and a different API to
        make RPC calls.  The new protocol was designed to be flexible
        and simple.  It includes an initial handshake to set the 
        version number, which should allow future changes to the
        protocol while reducing the difficulty of upgrades.

      - Better handling of concurrent commits.

        The ZEO server serializes concurrent commits to guarantee
        consistency; the mechanism is often called the distributed
        commit lock.  ZEO 2 improves the efficiency of concurrent
        commits by allowing data to be transferred to the server
        before entering the commit lock.

      - The ZEO client and server can be configured to operate in
        read-only mode.

      - A ZEO client can be configured with multiple server addresses.
        It uses the first server it can connect to.

      - The wait_for_server_on_startup keyword argument to
        ClientStorage has been renamed wait.