1. 28 Jan, 2003 3 commits
  2. 27 Jan, 2003 14 commits
  3. 24 Jan, 2003 3 commits
  4. 23 Jan, 2003 11 commits
  5. 22 Jan, 2003 2 commits
  6. 21 Jan, 2003 7 commits
    • Barry Warsaw's avatar
      update copyright years · 1635ca94
      Barry Warsaw authored
      1635ca94
    • Barry Warsaw's avatar
      _docommit(): Backing out the previous refcounting hack. There was no · 54be23c3
      Barry Warsaw authored
      bug here, there was a deficiency in zodb_pickle() that will be fixed
      in StorageTestBase.py
      54be23c3
    • Barry Warsaw's avatar
      d1152bf6
    • Barry Warsaw's avatar
      Added a few elaborate, thread based tests of the pack race condition · e4a3b271
      Barry Warsaw authored
      for both full and minimal bdb storages.
      e4a3b271
    • Barry Warsaw's avatar
      Fixes to close a pack-related race condition. If new objects were · e49710b4
      Barry Warsaw authored
      added while a pack was stuck between a mark and a sweep, the mark
      would not have found the new objects as root reachable (because they
      wouldn't have been stored yet), but the sweep will find then and
      erroneously delete them.
      
      _setupDBs(): Add a _packing flag which gets set whenever we're doing a
      classic or auto pack
      
      _docommit(): When the _packing flag is set, copy all oids in the _oids
      table to the _packmark table, so any objects added between the mark
      and sweep phases will not be gc'd.  This is fine because if they're
      still not root reachable by the next gc pass, they'll get collected
      then.
      
      pack(): Set and reset the _packing flag around the calls to _dopack().
      
      Also, get ZERO from the package, and add the `info' table for storage
      metadata.
      
      _docommit(): Fix a reference counting bug caused by not incref'ing the
      objects referred to by the new pickle of a new object revision.
      e49710b4
    • Barry Warsaw's avatar
      Fixes to close a pack-related race condition. If new objects were · 80e75665
      Barry Warsaw authored
      added while a pack was stuck between a mark and a sweep, the mark
      would not have found the new objects as root reachable (because they
      wouldn't have been stored yet), but the sweep will find then and
      erroneously delete them.
      
      _setupDBs(): Add a _packing flag which gets set whenever we're doing a
      classic or auto pack
      
      _docommit(): When the _packing flag is set, copy all oids in the _oids
      table to the _packmark table, so any objects added between the mark
      and sweep phases will not be gc'd.  This is fine because if they're
      still not root reachable by the next gc pass, they'll get collected
      then.
      
      pack(), autopack(): Set and reset the _packing flag around the calls
      to _dopack().
      80e75665
    • matt@zope.com's avatar