[Zodb-checkins] CVS: ZODB3 - NEWS.txt:1.12
Jeremy Hylton
jeremy@zope.com
Fri, 13 Sep 2002 09:55:09 -0400
Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv25750
Modified Files:
NEWS.txt
Log Message:
Merge NEWS from ZODB3-3_1-branch
=== ZODB3/NEWS.txt 1.11 => 1.12 ===
--- ZODB3/NEWS.txt:1.11 Thu Sep 12 18:28:34 2002
+++ ZODB3/NEWS.txt Fri Sep 13 09:55:09 2002
@@ -5,14 +5,6 @@
still the same old ZODB. There have been a lot of changes since the
last release.
-List of stuff to flesh out:
-
- - new ZODB cache
- - many BTrees bug fixes
- - improved Berkeley storages
- - includes ZEO 2 (and ZEO 1 for backwards compat)
- - many bug fixes
-
New ZODB cache
--------------
@@ -29,15 +21,13 @@
perform as well with a small cache size, because the cache no longer
exceeds the limit.
-XXX perhaps Toby can say more
-
Storages
--------
The index used by FileStorage was reimplemented using a custom BTrees
object. The index maps oids to file offsets, and is kept in memory at
all times. The new index uses about 1/4 the memory of the old,
-dictionary-based index. See ZODB.fsIndex for details.
+dictionary-based index. See the module ZODB.fsIndex for details.
A security flaw was corrected in transactionalUndo(). The transaction
ids returned by undoLog() and used for transactionalUndo() contained a
@@ -54,8 +44,29 @@
a ReadOnlyError will be raised.
The storage API was extended with new methods that support the Zope
-Replication Service (ZRS -- a proprietary Zope Corp product).
-XXX restore()
+Replication Service (ZRS), a proprietary Zope Corp product. We expect
+these methods to be generally useful. The methods are:
+
+ - restore(oid, serialno, data, version, transaction)
+
+ Perform a store without doing consistency checks. A client can
+ use this method to provide a new current revision of an object.
+ The ``serialno`` argument is the new serialno to use for the
+ object, not the serialno of the previous revision.
+
+ - lastTransaction()
+
+ Returns the transaction id of the last committed transaction.
+
+ - lastSerial(oid)
+
+ Return the current serialno for ``oid`` or None.
+
+ - iterator(start=None, stop=None)
+
+ The iterator method isn't new, but the optional ``start`` and
+ ``stop`` arguments are. These arguments can be used to specify
+ the range of the iterator -- an inclusive range [start, stop].
FileStorage is now more cautious about creating a new file when it
believes a file does not exist. This change is a workaround for bug
@@ -65,13 +76,18 @@
try to open the file first, and decide whether to create a new file
based on errno.
-XXX abort/commit version
-
The undoLog() and undoInfo() methods of FileStorage can run
concurrently with other methods. The internal storage lock is
released periodically to give other threads a chance to run. This
should increase responsiveness of ZEO clients when used with ZEO 2.
+New serial numbers are assigned consistently for abortVersion() and
+commitVersion(). When a version is committed, the non-version data
+gets a new serial number. When a version is aborted, the serial
+number for non-version data does not change. This means that the
+abortVersion() transaction record has the unique property that its
+transaction id is not the serial number of the data records.
+
Berkeley Storages
-----------------
@@ -176,6 +192,18 @@
modified objects. The change allows such transactions to finish even
on a read-only storage.
+Two new tools were added to the Tools directory. The ``analyze.py``
+script, based on a tool by Matt Kromer, prints a summary of space
+usage in a FileStorage Data.fs. The ``checkbtrees.py`` script scans a
+FileStorage Data.fs. When it finds a BTrees object, it loads the
+object and calls the ``_check`` method. It prints warning messages
+for any corrupt BTrees objects found.
+
+Documentation
+-------------
+
+The user's guide included with this release is still woefully out of date.
+
Other bugs fixed
----------------
@@ -189,6 +217,11 @@
the Python memory API. This allows ZODB to be used in conjunction
with pymalloc, the default allocator in Python 2.3.
+zdaemon, which can be used to run a ZEO server, more clearly reports
+the exit status of its child processes.
+
+The ZEO server will reinitialize zLOG when it receives a SIGHUP. This
+allows log file rotation without restarting the server.
What's new in StandaloneZODB 1.0 final?
=======================================