1. 23 Apr, 2003 3 commits
    • Jeremy Hylton's avatar
      Make sure the database is closed. · 48402c4b
      Jeremy Hylton authored
      48402c4b
    • Jeremy Hylton's avatar
      Fix memory leak involving persistent objects and caches. · e5567b6e
      Jeremy Hylton authored
      Problem reported by Ulla Theiss and diagnosed by Shane Hathaway.  The
      long and short of it is that persistent objects refer to their
      connection which refers to its cache which refers to the persistent
      objects.  We can't let GC find the cycle because persistent objects
      are extension class objects, and, thus, don't participate in GC.
      
      Add an explicit clear() method that removes non-ghost objects from the
      ring without going to all the trouble of ghosting them.  At some
      point, they'll just get deallocated (which will ghostify them).
      
      A cleared cache has non-ghost objects in the dict that are not in the
      ring, so we need to add some checks for whether the object is actually
      in the ring.
      e5567b6e
    • Jeremy Hylton's avatar
      cb8b868e
  2. 22 Apr, 2003 8 commits
  3. 21 Apr, 2003 2 commits
  4. 17 Apr, 2003 1 commit
  5. 16 Apr, 2003 1 commit
  6. 11 Apr, 2003 3 commits
  7. 10 Apr, 2003 1 commit
  8. 09 Apr, 2003 3 commits
  9. 08 Apr, 2003 5 commits
    • Barry Warsaw's avatar
      Another test MappingStorage won't pass. · edfa017f
      Barry Warsaw authored
      edfa017f
    • Barry Warsaw's avatar
      Update comment. · e8c5681f
      Barry Warsaw authored
      e8c5681f
    • Barry Warsaw's avatar
      None of the ZEO tests were actually using any storage other than · 6220253d
      Barry Warsaw authored
      FileStorage.  Fixed this and then had to no-op all the tests that
      MappingStorage can't possibly pass.
      
      I think there may still be problems with BDB which I'll follow up on
      next.
      6220253d
    • Jeremy Hylton's avatar
      Cleanup __del__. · 6fcc4daa
      Jeremy Hylton authored
      You never need an __del__ to close a file.  A file closes itself when
      it is deallocated.
      
      Don't give an object a magic __del__ attribute.  It won't work with
      new-style classes, and it's obscure anyway.
      6fcc4daa
    • Jeremy Hylton's avatar
      Backport atomic invalidations code from Zope3. · 61cbc091
      Jeremy Hylton authored
      The DB's invalidate() method takes a set of oids corresponding to all
      the changes from a data manager for one transaction.  All the objects
      are invalidated at once.
      
      Add a few tests in testZODB of the new code.  The tests just cover
      corner cases, because I can't think of a sensible way to test the
      atomicity.  When it has failed in the past, it's been caused by
      nearly-impossible to reproduce data races.
      
      This fix needs to be backported to Zope 2.6, but only after assessing
      how significant an impact the API change will have.
      61cbc091
  10. 07 Apr, 2003 3 commits
  11. 04 Apr, 2003 3 commits
    • Jeremy Hylton's avatar
      Shouldn't user strcmp() to compare binary strings. · 74425a52
      Jeremy Hylton authored
      XXX Not sure where this macro is used or what kind of failures this
      bug caused.
      74425a52
    • Richard Jones's avatar
      648ae201
    • Richard Jones's avatar
      I've fixed the various scripts etc. in the CVS so that I can now install a ZEO... · 9b5a2a88
      Richard Jones authored
      I've fixed the various scripts etc. in the CVS so that I can now install a ZEO client/server setup. The way it actually ended up working is:
      
      - runzope.py and zopectl.py are moved to Zope/Startup/run.py and Zope/zdaemon/zopectl.py respectively
      - bin/mkzopeinstance now takes a "-z/--zeo host:port" which sets up a custom_zodb.py in the new zope instance home
      - bin/mkzeoinstance now overrides less, because...
      - ZEO/mkzeoinst.py generates an additional script, runzeo, which is the "runner" for the ZEO server. Both it an the zeoctl script need to know about the ZOPE_HOME, so that's been added to the scripts (via the params)
      - fixed setup.py so it installed ZEO/schema.xml
      
      9b5a2a88
  12. 03 Apr, 2003 1 commit
    • Richard Jones's avatar
      Make ZEO instances that actually work: · c9154033
      Richard Jones authored
       - the scripts won't be in the user's $PATH, so override that lookup
         in from mkzeoinst.py in the mkzeoinstance script
       - the scripts won't be executable, so prepend commands with $python
      c9154033
  13. 02 Apr, 2003 1 commit
    • Jeremy Hylton's avatar
      Restore cache behavior for unreferenced by recently used objects. · 41dc25c3
      Jeremy Hylton authored
      The implementation is to make the reference in the cache "ring" a new
      reference rather than a borrowed reference.  It is the intent of the
      cache to keep N recently used objects in memory, regardless of whether
      they are currently referenced.  The goal is to avoid the cost of
      recreating the objects, based on the assumption that they are likely
      to be used again soon.
      41dc25c3
  14. 01 Apr, 2003 5 commits