[Zope-Checkins] CVS: Zope/doc - CHANGES.txt:1.535.2.86

Jeremy Hylton jeremy@zope.com
Tue, 28 Jan 2003 13:05:37 -0500


Update of /cvs-repository/Zope/doc
In directory cvs.zope.org:/tmp/cvs-serv2008

Modified Files:
      Tag: Zope-2_6-branch
	CHANGES.txt 
Log Message:
Update news to reflect expects ZODB 3.1.1 changes.

XXX Haven't checked that these changes have actually been merged from
the ZODB3-3_1-branch.


=== Zope/doc/CHANGES.txt 1.535.2.85 => 1.535.2.86 ===
--- Zope/doc/CHANGES.txt:1.535.2.85	Tue Jan 28 10:00:36 2003
+++ Zope/doc/CHANGES.txt	Tue Jan 28 13:05:34 2003
@@ -21,8 +21,60 @@
         This change was debated here:
         http://lists.zope.org/pipermail/zope-dev/2002-December/018261.html
 
+      - The Transaction "hosed" feature is disabled in this release.
+        If a transaction fails during the tpc_finish() it is not
+        possible, in general, to know whether the storage is in a
+        consistent state.  For example, a ZEO server may commit the
+        data and then fail before sending confirmation of the commit
+        to the client.  If multiple storages are involved in a
+        transaction, the problem is exacerbated: One storage may
+        commit the data while another fails to commit.  In previous
+        versions of ZODB, the database would set a global variable
+        "hosed" that prevented any other transaction from committing
+        until an administrator could check the status of the various
+        failed storages and ensure that the database is in a
+        consistent state.  This approach favors data consistency over
+        availability.  The new approach is to log a panic but
+        continue.  In practice, availability seems to be more
+        important than consistency.  The failure mode is exceedingly
+        rare in either case.
+
+      - The BTrees-based fsIndex for FileStorage is enabled.  This
+        version of the index is faster to load and store via pickle
+        and uses less memory to store keys.  We had intended to enable
+        this feature in an earlier release, but failed to actually do
+        it; thus, it's getting enabled as a bug fix now.
+
+      - A value-based consistency checker for BTrees was added.  See
+        the module BTrees.check for the checker and other utilities
+        for working with BTrees.
+
+      - The ZEO server has an optional timeout feature that will abort
+        a connection that does not commit within a certain amount of
+        time.  The timeout works by closing the socket the client is
+        using, causing both client and server to abort the transaction
+        and continue.  This is a drastic step, but can be useful to
+        prevent a hung client or other bug from blocking a server
+        indefinitely.
+
     Bugs Fixed
 
+      - If a client was disconnected during a transaction, the
+        tpc_abort() call did not properly reset the internal state
+        about the transaction.  The bug caused the next transaction to
+        fail in its tpc_finish().
+
+      - The performance of full cache verification has improved
+        dramatically.  XXX Get measurements from Jim -- somewhere in
+        2x-5x recall.  The implementation was fixed to use the
+        very-fast getSerial() method on the storage instead of the
+        comparatively slow load().
+
+      - Two rare bugs were fixed in BTrees conflict resolution.  The
+        most probable symptom of the bug would have been a segfault.
+        The bugs were found via synthetic stress tests rather than bug
+        reports.
+
       - Transience's '_getCurrentBucket' implementation had a bug which
         could cause more work to be performed than necessary
 	(incorrect computation of "plast" variable).
@@ -35,10 +87,12 @@
         of a catalog metadata was identical with the name of an acquired
         object.
 
-      - Collector #740: DateTime now handles positive numerical timezones correcly.
+      - Collector #740: DateTime now handles positive numerical
+        timezones correcly.
 
       - Collector #763: There was no error when you had a sendmail-tag
-        without specifying a mailhost or smpthost. Also added a missing import.
+        without specifying a mailhost or smpthost. Also added a
+        missing import.
 
       - Fixed a bug in restrictedTraverse() that sometimes led to an
         AttributeError instead of prompting the user for credentials.
@@ -66,9 +120,10 @@
       - Collector #322: made the error message you get when you try to
         use 'client' as a ZSQLMethod argument more meaningful.
     
-      - Collector #479: ZCatalog catalog tab now shows "Unknown" in the type
-        column when it doesn't have a meta_type metadata value for a cataloged 
-        object, rather than the type of the catalog itself.
+      - Collector #479: ZCatalog catalog tab now shows "Unknown" in
+        the type column when it doesn't have a meta_type metadata
+        value for a cataloged object, rather than the type of the
+        catalog itself.
 
       - Fix bug concatenating Lazy result sets. Also made len potentially
         less expensive for LazyCat objects.
@@ -175,7 +230,8 @@
 
       - Collector #699: MailHosts created in 2.5 breaks in 2.6.
 
-      - Collector #694: dtml-sendmail mailto specification replaces "To:" header. 
+      - Collector #694: dtml-sendmail mailto specification replaces
+        "To:" header.
 
       - Collector #703: KeyErrors raised when unindexing a PathIndex (and
         TopicIndexes) should be swallowed and logged.
@@ -287,8 +343,9 @@
       
     Features Added
 
-      - Add optional 'relative' argument to getURL the method in CatalogBrains.
-        This allows it to generate site relative URLs like absolute_url can.
+      - Add optional 'relative' argument to getURL the method in
+        CatalogBrains.  This allows it to generate site relative URLs
+        like absolute_url can.
 
       - ZTUtils.Tree.encodeExpansion now will use zlib compression by default,
         allowing for a far larger number of open tree states to be encoded.