[Zope-dev] ZODB 3.1.2b2 released

Jeremy Hylton jeremy@zope.com
13 Jun 2003 14:21:45 -0400


We have released ZODB 3.1.2b2 available from the usual place:
    http://www.zope.org/Products/ZODB3.1

This release includes several critical bug fixes for ZEO.  The bugs are
more likely to affect sites that see a lot of read conflicts (resolved
or unresolved).  The bugs can cause data loss or corruption.  

I would strongly advise ZEO users to consider upgrading.  This release
has seen more internal stress testing that normal and should be fairly
stable for production use.  I hope to get a final release out as soon as
possible.

The release notes (below) describe the fixes in more detail.

Jeremy

What's new in ZODB3 3.1.2 beta 2?
=================================

Fixed critical race conditions in ZEO's cache consistency code that
could cause invalidations to be lost or stale data to be written to
the cache.  These bugs can lead to data loss or data corruption.
These bugs are relatively unlikely to be provoked in sites with few
conflicts, but the possibility of failure existed any time an object
was loaded and stored concurrently.

Fixed a bug in conflict resolution that failed to ghostify an object
if it was involved in a conflict.  (This code may be redundant, but it
has been fixed regardless.)

The ZEO server was fixed so that it does not perform any I/O until all
of a transactions' invalidations are queued.  If it performs I/O in the
middle of sending invalidations, it would be possible to overlap a
load from a client with the invalidation being sent to it.

The ZEO cache now handles invalidations atomically.  This is the same
sort of bug that is described in the 3.1.2b1 section below, but it
affects the ZEO cache.

Fixed several serious bugs in fsrecover that caused it to fail
catastrophically in certain cases because it thought it had found a
checkpoint (status "c") record when it was in the middle of the file.