[Zope-Annce] ZODB 3.2.6 beta 1 released

Tim Peters tim at zope.com
Mon Feb 28 20:38:09 EST 2005

I'm pleased to announce the release of ZODB 3.2.6 beta 1.

You can download a source tarball or Windows installer from:


There are several critical bugfixes in this release, addressing rare
problems in two major areas:

- Thread and asyncore races while ZEO is attempting to make a
  connection, leading to connection failure and/or missed messages.

- Rare cases in which FileStorage could reuse oids already assigned,
  leading to distinct objects with the same oid (object identifier).
  The primary cause was that FileStorage.restore() didn't update
  the storage's idea of the largest oid in use, regardless of how
  large an oid was passed to it.  The first stage of ZRS recovery,
  and copyTransactionsFrom(), both rely on the .restore() method,
  and so both could create database copies that believed no oids
  had yet been assigned.  A secondary cause was that a FileStorage's
  .index file contains a "maximum oid in the index" record, and the
  value in this record was believed even when it was incorrect.

  The primary cause was repaired by simple changes to .restore()
  and .store(), so that .index files with a bad max-oid record are
  no longer created.  But there may be such databases already in
  existence, so the secondary cause was addressed by larger changes
  to ignore the max-oid record in the .index file, extracting the
  largest oid directly from the index instead (this is basically a
  BTree mapping oids to file offsets, so finding the largest key is
  very efficient; the separate max-oid record is really a leftover
  from earlier times, before a BTree was used here).

  Note that although ZODB 3.2.6 ignores an .index file's max-oid
  record, it still writes a max-oid record when it saves an .index
  file.  This is so older ZODB releases can continue to read .index
  files produced by ZODB 3.2.6.

See the news file for details:


ZODB 3.2.6 can be used with Zopes in the 2.7 line, at or after Zope 2.7.3.

Note that ZODB 3.2.6 does not support development on Zope 2.8, Zope X3 or
Zope 3 (they require the ZODB 3.3 line).

More information about the Zope-Announce mailing list