[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?
 =======================================