1. 12 Aug, 2005 3 commits
  2. 11 Aug, 2005 4 commits
  3. 09 Aug, 2005 1 commit
  4. 08 Aug, 2005 3 commits
  5. 07 Aug, 2005 1 commit
    • Tim Peters's avatar
      Merge rev 37777 from 3.4 branch. · 0bb13f9c
      Tim Peters authored
      Part of Collector 1860 (the other part is in Zope).
      
      There's no possiblity of rollback here, so no need to insist that the
      data manager support rollbacks.
      
      0bb13f9c
  6. 04 Aug, 2005 3 commits
    • Tim Peters's avatar
      An internal 3.5.0a6 release. · 8e72bad8
      Tim Peters authored
      8e72bad8
    • Tim Peters's avatar
      Merge rev 37713 from 3.4 branch. · 8900bc7c
      Tim Peters authored
      Plug leaks in the ZEO client cache.
      
      ClientCache._evicted():  When deleting the last range of
      non-current tids for an oid, remove the list from the
      noncurrent dict instead of leaving an empty list sitting
      there forever.  This also required adjusting the side-
      effect dance in ClientCache._remove_noncurrent_revisions().
      
      FileCache._makeroom():  This was the major leak -- it
      neglected to remove an evicted object's Entry from the
      key2entry dict.
      8900bc7c
    • Philipp von Weitershausen's avatar
      Merge the philikon-zeo-scripts branch: · 3722c179
      Philipp von Weitershausen authored
        move things around so that zeo scripts are installed for
        standalone zodb releases but not for zope releases
      3722c179
  7. 02 Aug, 2005 1 commit
  8. 01 Aug, 2005 2 commits
  9. 29 Jul, 2005 2 commits
    • Tim Peters's avatar
      Merge rev 37574 from 3.4 branch. · b6094962
      Tim Peters authored
      makeroom():  Simplify retrieve+del from filemap.
      b6094962
    • Tim Peters's avatar
      Merge rev 37563 from 3.4 branch. · 8c81c747
      Tim Peters authored
      Removed the `key2size` OIBTree.
      
      Maintaining this is a significant expense; the code didn't
      make real use of it; and every time I've tried to exploit it
      I've ended up with grossly too-large simulated hit rates.
      Would probably take another day to figure out exactly why that
      is, and the simulated rates are "good enough" now without it.
      8c81c747
  10. 26 Jul, 2005 4 commits
    • Tim Peters's avatar
      Merge 3.4.1b1 news. · 5c6b1e22
      Tim Peters authored
      5c6b1e22
    • Tim Peters's avatar
      Merge rev 37435 from 3.4 branch. · 59844c4f
      Tim Peters authored
      More words; update examples w/ new output.
      59844c4f
    • Tim Peters's avatar
      Merge rev 37432 from 3.4 branch. · 03bf92a9
      Tim Peters authored
      The cache simulation seems good enough to be useful now,
      although the toy app I wrote to generate a 500MB trace
      file doesn't use MVCC in an essential way (some of the
      MVCC simulation code is nevertheless exercised, since
      an invalidation of current data in the presence of MVCC
      always creates a cache record for the newly non-current
      revision).
      
      Still puzzling over what to do when the trace file records
      a load hit but the simulated cache gets a miss.  The
      old simulation code seemed to assume that a store for the same
      oid would show up in the trace file next, and it could get
      the info it needed about the missing object from the store
      trace.  But that isn't true:  precisely because the load was
      a hit in the trace file, the object isn't going to be stored
      again "soon" in the trace file.
      
      Here are some actual-vs-simulated hit rate results, for a
      20MB cache, with a trace file covering about 9 million
      loads, over 3 ZEO client (re)starts:
      
      actual   simulated
      ------   ---------
        93.1        92.7
        79.8        79.0
        68.0        69.1
            
        81.4        81.1  overall
      
      Since the simulated hit rates are both higher and lower
      than the actual hit rates, that argues against a gross
      systematic bias in the simulation (although there may
      be several systematic biases in opposite directions).
      03bf92a9
    • Tim Peters's avatar
      Merge rev 37422 from 3.4 branch. · 05627a49
      Tim Peters authored
      Massive rewrite to make simul.py's circular cache aware of
      MVCC.  It isn't blowing up, but it thinks the hit rate is
      100% -- might have missed something there <wink>.
      05627a49
  11. 25 Jul, 2005 1 commit
    • Tim Peters's avatar
      Merge rev 37411 from 3.4 branch. · 19cd6745
      Tim Peters authored
      More steps on the way toward having useful cache simulation.
      
      I think the primary hangup now is that simul.py doesn't know
      anything about MVCC.  As a result, it thinks there's significatly
      more free space in the cache than there really is, and that
      probably accounts for it predicting significantly higher hit
      rates than I actually see.
      19cd6745
  12. 23 Jul, 2005 1 commit
    • Tim Peters's avatar
      Merge rev 37389 from 3.4 branch. · 9d1687f4
      Tim Peters authored
      Lots of fiddling to work w/ current trace file format.
      
      Output isn't obviously wholly insane, but isn't a reasonably
      close enough match to stats.py output either yet.
      9d1687f4
  13. 22 Jul, 2005 5 commits
    • Tim Peters's avatar
      Merge rev 37387 from 3.4 branch. · 159809f0
      Tim Peters authored
      stats.py:  cut the # of file reads by 1/3, and the # of
      struct.unpack() calls by 1/2.
      
      Various bugfixes elsewhere.
      159809f0
    • Tim Peters's avatar
      Merge rev 37385 from 3.4 branch. · ee41341d
      Tim Peters authored
      Many little bugfixes and improvements in stats.py.
      This has survived several 100 MB of trace files
      I generated over the last few days, so it's solid
      now if not necessarily perfect.
      
      Replaced simul.py with the much broader-ranging code
      Jeremy and I were working on a couple years ago,
      although it can't work with the current trace file
      format (no real loss there -- the simul.py it's
      replacing can't work with the current format either).
      ee41341d
    • Tim Peters's avatar
      Merge rev 37382 from 3.4 branch. · 93103fc7
      Tim Peters authored
      Stitch in ZConfig's docs from ZConfig.
      93103fc7
    • Tim Peters's avatar
      Merge rev 37380 from 3.4 branch. · 72d8ebb8
      Tim Peters authored
      Remove this -- it's a way out-of-date copy of the ZConfig
      docs.  I'll stitch them back in from the ZConfig repo next,
      via svn:externals.  Ideally, ZODB shouldn't have this as
      part of its checkout tree at all, but that also has implications
      for the way ZRS gets packaged, etc.
      72d8ebb8
    • Tim Peters's avatar
      Merge rev 37375 from 3.4 branch. · 8ab7eb8e
      Tim Peters authored
      A large number of changes so that cache tracing isn't
      100% broken -- I can get a trace file now, and stats.py
      doesn't blow up anymore.  Don't yet know whether it's
      reporting sensible things, but it's not obviously insane.
      simul.py doesn't know about the current cache implementation
      either yet.
      8ab7eb8e
  14. 21 Jul, 2005 1 commit
    • Tim Peters's avatar
      Merge rev 37372 from 3.4 branch. · 6140445b
      Tim Peters authored
      ClientCache:  made it a new-style class.
      
      FileCache:  Removed the reuse= argument.  IIRC, it made some sense
      when different cache schemes were first being tried, but complicated
      the logic now to no good end.
      
      Nuked the maddening log warnings about reuse=True.  They were never
      helpful and were often confusing.
      
      Added info-level log messages to record the path of the client cache
      file, whether it's persistent or temporary, and if it's persistent
      whether we're creating or reusing it.
      
      Minor changes to comments.
      6140445b
  15. 20 Jul, 2005 1 commit
  16. 19 Jul, 2005 2 commits
  17. 18 Jul, 2005 2 commits
    • Tim Peters's avatar
      Merge rev 37244 from 3.4 branch. · 31e4242f
      Tim Peters authored
      Collector 1843:  IISet.keys: bad exception handling.
      
      Bucket_rangeSearch():  De-obfuscated the calls to
      Bucket_findRangeEnd(), so that they stop ignoring
      the latter's error returns (a mind-bending combination
      of embedded assignment nested in an UNLESS macro,
      seemingly copy+paste'd so that the error occurred twice).
      31e4242f
    • Tim Peters's avatar
      Merge rev 37239 from 3.4 branch. · ff59389f
      Tim Peters authored
      Port from ZODB 3.2.
      
      Collector #1846:  If an uncommitted transaction was found, fsrecover.py
      fell into an infinite loop.  Fixed that, and added a new test
      (testUncommittedAtEnd) to ensure this stays fixed.
      ff59389f
  18. 14 Jul, 2005 3 commits