1. 17 Jan, 2003 17 commits
  2. 16 Jan, 2003 9 commits
  3. 15 Jan, 2003 8 commits
  4. 14 Jan, 2003 6 commits
    • Tim Peters's avatar
      Removed obsolete "by eyeball" test cruft. · 4e0bf97c
      Tim Peters authored
      4e0bf97c
    • Jeremy Hylton's avatar
      Try using a AF_INET address so that the test runs on Windows. · 43a85e70
      Jeremy Hylton authored
      XXX Don't expect port 9 to do anything on any machine.
      43a85e70
    • Tim Peters's avatar
      New btrees module check.py (and test program). The primary new function · f4e8c075
      Tim Peters authored
      is check.check(btree), which performs value-based sanity checks on a
      BTree (or TreeSet) that the btree._check() method doesn't do.  The new
      checks include that all the bucket keys are in sorted order, and that
      all the keys within each bucket, and within each internal BTree node,
      lie within the range necessary for that node.  That last is a subtle
      invariant that can't be checked locally:  it requires propagating range
      info down the tree, and modifying it for each child and each level.
      This *should* catch any BTree B for which iterating over the keys yields
      a key K for which B.has_key(K) returns false.
      
      Another function check.display(btree) prints the internal structure of
      a BTree (or TreeSet, Bucket, or Set) to stdout.  If check.check(B) ever
      complains, a clearer picture of the damage can be gotten by staring at
      check.display(B)'s output.
      
      Also beefed up the regular BTree tests by calling check.check() in key
      places.  No surprises (the tests still pass).
      f4e8c075
    • Jeremy Hylton's avatar
      Prevent client from using stale cache data while connecting. · b25c2295
      Jeremy Hylton authored
      XXX Maybe there should be an option to allow this.
      
      A ZEO client can run in disconnected mode, using data from
      its cache, or in connected mode.  Several instance variables
      are related to whether the client is connected.
      
      _server: All method calls are invoked through the server
         stub.  When not connect, set to disconnected_stub an
         object that raises ClientDisconnected errors.
      
      _ready: A threading Event that is set only if _server
         is set to a real stub.
      
      _connection: The current zrpc connection or None.
      
      _connection is set as soon as a connection is established,
      but _server is set only after cache verification has finished
      and clients can safely use the server.  _pending_server holds
      a server stub while it is being verified.
      
      Before this change, a client could start using a connection before
      verification finished.  If verification took a long time, it could
      even commit a new transaction using a mixing of old and new data.
      b25c2295
    • Jeremy Hylton's avatar
      Rewrite pending() to handle input and output. · e3e3d8a9
      Jeremy Hylton authored
      Pending does reads and writes.  In the case of server startup, we may
      need to write out zeoVerify() messages.  Always check for read status,
      but don't check for write status only there is output to do.  Only
      continue in this loop as long as there is data to read.
      e3e3d8a9
    • Barry Warsaw's avatar