[Zodb-checkins] CVS: ZODB3 - ZEO-NEWS.txt:1.39
Guido van Rossum
guido@python.org
Thu, 3 Oct 2002 15:13:57 -0400
Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv16516
Modified Files:
ZEO-NEWS.txt
Log Message:
Some more updates. This is it for beta 2, AFAIC.
=== ZODB3/ZEO-NEWS.txt 1.38 => 1.39 ===
--- ZODB3/ZEO-NEWS.txt:1.38 Mon Sep 30 12:55:49 2002
+++ ZODB3/ZEO-NEWS.txt Thu Oct 3 15:13:55 2002
@@ -1,10 +1,36 @@
Revision History, Zope Enterprise Objects, version 2
- ZEO 2.0 beta 2 (XXX release date here)
+ ZEO 2.0 beta 2 (2002/10/03)
The changes since ZEO 2.0b1 release are:
- - Read-only fallback option for ClientStorage.
+ - Added doc strings
+
+ A start was made with adding doc strings to the major modules.
+ ClientStorage.py was completed, a start was made with
+ StorageServer.py. The rest will follow before the final
+ release.
+
+ - Fixed race conditions
+
+ Potential race conditions in many places were fixed by adding
+ appropriate locking, including zrpc/smac.py and
+ TransactionBuffer.py. Picklers are no longer shared and
+ reused, as sharing a pickler is not re-entrant.
+
+ - Fixed trigger on Windows 98
+
+ The code in zrpc/trigger.py to create a trigger instance for
+ Windows could cause mysterious hangs on Windows 98 when a port
+ was reused. Fixed by changing the port allocation algorithm.
+
+ - pack() waits by default
+
+ The default value for the wait flag argument to pack() is
+ changed to 1, making pack() wait by default (just like for the
+ ClientStorage constructor.)
+
+ - Read-only fallback option for ClientStorage
The ClientStorage class now has a new optional argument,
read_only_fallback, defaulting to false. If set to true, the
@@ -20,7 +46,7 @@
acceptable; when the read_only option is true, all servers
(read-only or read-write) are acceptable.
- - Connect code refactored.
+ - Connect code refactored
The client-side ZRPC code that connects to the server was
rewritten almost from scratch (to allow adding the fallback
@@ -29,7 +55,7 @@
(previously, the connect_ex() status wasn't always interpreted
correctly).
- - Overlapping calls allowed.
+ - Overlapping calls allowed
The limitation that ZRPC calls are serialized in the client is
lifted. A multi-threaded client may now make overlapping
@@ -49,13 +75,13 @@
a message can't be unpickled. This approach allows the client
and server to recover.
- - Locking bug in new_oid() fixed.
+ - Locking bug in new_oid() fixed
The client-side code in new_oid() would not release its lock
if its call to the server's new_oids() raised an exception.
This would cause a hard hang upon a subsequent new_oid() call.
- - Fix handling of mid-transaction disconnect.
+ - Fix handling of mid-transaction disconnect
When a connection was disconnected while a transaction was in
progress, the server-side code attempting to abort the
@@ -63,7 +89,7 @@
others, this frequently caused the
checkCommitLock2On{Abort,Commit} tests to hang on Win98.
- - Logging cleanup.
+ - Logging cleanup
Various log messages were added, removed, or reformatted, or
had their priority adjusted. The subsystem string in log
@@ -72,7 +98,7 @@
correct process id (there were cases where the parent's
process id continued to be used after a fork() call).
- - Code cleanup.
+ - Code cleanup
Many parts of the code have been cleaned up. The changes
include whitespace normalization, spelling fixes, correcting
@@ -88,13 +114,13 @@
lock. This prevents a possible deadlock when cache
verification callbacks are processed quickly.
- - Fixed performance problem differently.
+ - Fixed performance problem differently
Some low-level socket code was rewritten again to batch short
messages and chunk long ones even more efficiently, as
suggested by Toby Dickenson.
- - Cache performance simulation.
+ - Cache performance simulation
A simulation program (ZEO/simul.py) was added that performs a
simulation of the ZEO client cache, given a cache trace file
@@ -109,7 +135,7 @@
load. Send email to guido@zope.com if you are interested in
participating.)
- - Client cache bugs fixed.
+ - Client cache bugs fixed
Fixed several bugs in the client cache code that caused the
cache to be less effective than it should. In particular:
@@ -123,7 +149,7 @@
= on a cache file flip, the index data for the cache file
that's being overwritten wasn't cleared out.
- - Fix for abortVersion().
+ - Fix for abortVersion()
Different versions of ZODB do different things with the
serialnos for abortVersion(). To be safe and avoid giving
@@ -148,7 +174,7 @@
requests to be handled as long the underlying storage allows
them.
- - Client cache code cleanup.
+ - Client cache code cleanup
The doc string was updated to provide more and more accurate
information; other minor coding style improvements include
@@ -156,20 +182,20 @@
record is detected. Cache flips and non-trivial read_index()
statistics are also logged.
- - Client cache trace option.
+ - Client cache trace option
Setting the environment variable ZEO_CACHE_TRACE to point to a
(writable) file writes a detailed trace of cache requests to
that file. The stats.py program can be used to analyze this
trace file. More information is in the ZEO/README.txt file.
- - Fixed handling of closed connections in the server.
+ - Fixed handling of closed connections in the server
When a client disconnected, the storage server wasn't properly
calling the strategy's tpc_abort, so it wasn't properly
restarting another transaction that might possibly be waiting.
- - Other code cleanup and small bugfixes.
+ - Other code cleanup and small bugfixes
Renamed some methods. Removed some unused variables,
functions, methods and files. Added some explanatory
@@ -179,12 +205,14 @@
exceptions that inherit from Exception. Added missing import
of DecodingError in zrpc/marshal.py.
- - Optimized cache opening.
+ - Optimized cache opening
ClientStorage opens the cache later to avoid "opening" it
twice when a connection is available right away.
- - Added a modest unit test suite for the client cache.
+ - Added a modest unit test suite for the client cache
+
+ The basic operations of the client cache are now tested.
- Wait for connection by default