Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
ZODB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
ZODB
Commits
ec2a63c2
Commit
ec2a63c2
authored
Apr 01, 2005
by
Tim Peters
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the ZEO (in)compatibility story.
parent
d013da1e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
8 deletions
+41
-8
NEWS.txt
NEWS.txt
+11
-0
README.txt
README.txt
+30
-8
No files found.
NEWS.txt
View file @
ec2a63c2
...
@@ -52,6 +52,17 @@ DB
...
@@ -52,6 +52,17 @@ DB
file ZODB/tests/multidb.txt for a tutorial doctest. Thanks to Christian
file ZODB/tests/multidb.txt for a tutorial doctest. Thanks to Christian
Theune for his work on this during the PyCon 2005 ZODB sprint.
Theune for his work on this during the PyCon 2005 ZODB sprint.
ZEO compatibility
-----------------
There are severe restrictions on using ZEO servers and clients at or after
ZODB 3.3 with ZEO servers and clients from ZODB versions before 3.3. See the
reworked ``Compatibility`` section in ``README.txt`` for details. If
possible, it will be easiest to move clients and servers to 3.3+
simultaneously. With care, it's possible to use a 3.3+ ZEO server with
pre-3.3 ZEO clients, but not possible to use a pre-3.3 ZEO server with 3.3+
ZEO clients.
BTrees
BTrees
------
------
...
...
README.txt
View file @
ec2a63c2
...
@@ -31,14 +31,36 @@ Compatibility
...
@@ -31,14 +31,36 @@ Compatibility
ZODB 3.4 requires Python 2.3.4 or later. For best results, we recommend
ZODB 3.4 requires Python 2.3.4 or later. For best results, we recommend
Python 2.3.5.
Python 2.3.5.
The Zope 2.8 and X3 releases should be compatible with this version of ZODB.
The Zope 2.8 release, and Zope3 releases, should be compatible with this
Note that Zope 2.7 and higher includes ZEO, so this package should only be
version of ZODB. Note that Zope 2.7 and higher includes ZEO, so this package
needed to run a ZEO server.
should only be needed to run a ZEO server.
The ZEO server in ZODB 3.4 is currently incompatible with earlier
ZEO servers and clients are wholly compatible among 3.3, 3.3.1 and 3.4: a ZEO
versions of ZODB. If you want to test the software, you must be
client from any of those versions can talk with a ZEO server from any.
running this release for both client and server. A backwards
compatibility mechanism will be provided in a later release.
Trying to mix ZEO clients and servers from 3.3 or later from ZODB releases
before 3.3 is much harder. ZODB 3.3 introduced multiversion concurrency
control (MVCC), and earlier ZEO servers do not support MVCC: a 3.3+ ZEO
client cannot talk with an older ZEO server as a result.
In the other direction, a 3.3+ ZEO server can talk with older ZEO clients,
but because the names of some basic classes have changed, if any 3.3+ clients
commit modifications to the database it's likely that the database will
contain instances of classes that don't exist in (can't be loaded by) older
ZEO clients. For example, the database root object was an instance of
``ZODB.PersistentMapping.PersistentMapping`` before ZODB 3.3, but is an
instance of ``persistent.mapping.PersistentMapping`` in ZODB 3.3. A 3.3.1+
client can still load a ``ZODB.PersistentMapping.PersistentMapping`` object,
but this is just an alias for ``persistent.mapping.PersistentMapping``, and
an object of the latter type will be stored if a 3.3 client commits a change
to the root object. An older ZEO client cannot load the root object so
changed.
This limits migration possibilities: a 3.3+ ZEO server can be used with
older (pre-3.3) ZEO clients and serve an older database, so long as no 3.3+
ZEO clients commit changes to the database. The most practical upgrade path
is to bring up both servers and clients using 3.3+, not trying to mix pre-3.3
and post-3.3 ZEO clients and servers.
Prerequisites
Prerequisites
-------------
-------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment