1. 17 Sep, 2004 4 commits
    • Tim Peters's avatar
      Merge rev 27621 from 3.3 branch. · 01d5b6c3
      Tim Peters authored
      Check in stuff mistakenly committed from the Zope trunk.
      
      Rev 26842 changed cache-size parameters to type byte-size.
      That's a good change, but it was checked in from a wrong place
      (from the Zope trunk's copy of ZODB).  Since we want Zope 2.8 to
      be usable with ZODB 3.3 too, I need to slam this change into
      3.3 now.
      
      Alas, I don't understand how ZODB+ZEO got stitched into the
      Zope trunk (I do understand how it got stitched into the
      Zope3 trunk, and into the X3 branch), and it looks like that
      was left in a poor state.
      01d5b6c3
    • Tim Peters's avatar
      7135a68c
    • Tim Peters's avatar
      40a41cf9
    • Tim Peters's avatar
      Merge rev 27557 from 3.3 branch. · ddfa17a2
      Tim Peters authored
      New test checkReadConflictErrorClearedDuringAbort().
      
      This confirms that 3.3 didn't have the 3.2.4c1 bug wherein
      an explict transaction abort() failed to clear Connections'
      memory of ReadConflictErrors.
      ddfa17a2
  2. 14 Sep, 2004 4 commits
    • Tim Peters's avatar
      Merge rev 27526 from 3.3 branch. · cd339ce8
      Tim Peters authored
      Act as if a 3.3c1 release were being made.  Maybe it will
      be.  Besides "the usual" release fiddling, repaired many
      out-of-date pieces of the ZODB programming guide; I'm sure
      many remain, though.
      cd339ce8
    • Tim Peters's avatar
      Merge rev 27524 from 3.3 branch. · 4f8b410a
      Tim Peters authored
      A test here didn't clean up after a failing commit().
      4f8b410a
    • Tim Peters's avatar
      Merge rev 27522 from 3.3 branch. · d7c99101
      Tim Peters authored
      Removed obsolete comment.
      d7c99101
    • Tim Peters's avatar
      Merge rev 27520 from 3.3 branch. · a3757926
      Tim Peters authored
      As discussed on zodb-dev, failing commit "sticks" now.
      
      After a commit fails (raises an exception), all subsequent attempts
      to commit, join, or register with the transaction now raise the new
      TransactionFailedError.  The failed transaction must be explicitly
      discarded now, via abort() on the transaction or begin() on its
      transaction manager.
      a3757926
  3. 10 Sep, 2004 1 commit
  4. 09 Sep, 2004 1 commit
    • Tim Peters's avatar
      Merge rev 27481 from 3.3 branch. · 343c2b08
      Tim Peters authored
      Forward port from Zope 2.7 branch.
      
      The ConflictError.get_{old,new}_serial() methods each did what the other
      was supposed to do.
      343c2b08
  5. 04 Sep, 2004 1 commit
    • Tim Peters's avatar
      Merge rev 27446 from 3.3 branch. · fcac19d9
      Tim Peters authored
      Port from Zope 2.7 branch.
      
      Collector #1488 (TemporaryStorage -- going backward in time).
      
      This confusion was really due to that the detail on a ConflictError
      exception didn't make sense.
      fcac19d9
  6. 31 Aug, 2004 3 commits
  7. 27 Aug, 2004 1 commit
    • Tim Peters's avatar
      Merge rev 27301 from 3.3 branch. · 84887168
      Tim Peters authored
      Raise ConnectionStateError if an attempt to close a connection
      is made while the connection has a pending subtransaction.
      84887168
  8. 26 Aug, 2004 1 commit
    • Tim Peters's avatar
      Merge rev 27279 from 3.3 branch. · 7f5c6b9d
      Tim Peters authored
      Transaction.begin() didn't do anything.
      
      begin() is supposed to abort the current transaction, but
      Transaction.begin() did not.  Calling begin() on a transaction
      *manager* worked fine, and is the intended way to do a begin()
      in 3.3.  But calling begin() on a Transaction object is still
      very easy to do (e.g., the older get_transaction().begin()
      spelling still works), and shouldn't be a subtle disaster.
      7f5c6b9d
  9. 25 Aug, 2004 2 commits
  10. 23 Aug, 2004 3 commits
  11. 21 Aug, 2004 3 commits
  12. 19 Aug, 2004 1 commit
  13. 18 Aug, 2004 1 commit
    • Tim Peters's avatar
      Merge rev 27179 from 3.3 branch. · dfedcc8c
      Tim Peters authored
      Forward port from Zope 2.7 branch.
      
      analyze_rec():  This produced spurious "len of unsized object" messages
      when a data record had a backpointer instead of a pickle.  Repaired.
      
      analyze(), analyze_trans():  Simplified overly elaborate iteration code.
      dfedcc8c
  14. 17 Aug, 2004 2 commits
  15. 13 Aug, 2004 1 commit
  16. 12 Aug, 2004 2 commits
    • Tim Peters's avatar
      Merge/port assorted ZODB changes checked into Zope3's ZODB copy. · 312632fa
      Tim Peters authored
      Please don't do that:  ZODB changes need to be done in the ZODB
      project.  Checkins to Zope3 have no effect on ZODB in reality.
      
      This includes:
      
      r26945 | jim | 2004-08-06 18:30:44 -0400 (Fri, 06 Aug 2004) | 6 lines
         M /Zope3/trunk/src/persistent/tests/test_persistent.py
      
      Updated to work with the versions of doctest from Python with versions
        greater than or equal to 2.3.0 and less than 2.4.0.a2 and with
        versions greater than 2.4.0a2.
      
      r26482 | srichter | 2004-07-13 13:07:03 -0400 (Tue, 13 Jul 2004) | 2 lines
         M /Zope3/trunk/src/transaction/__init__.py
         M /Zope3/trunk/src/transaction/_transaction.py
         M /Zope3/trunk/src/transaction/tests/test_transaction.py
      
      Converted XXX to TODO.
      
      r25953 | sidnei | 2004-06-23 13:14:20 -0400 (Wed, 23 Jun 2004) | 1 line
         M /Zope3/trunk/src/ZODB/interfaces.py
         M /Zope3/trunk/src/transaction/_transaction.py
      
      Add missing sortKey method to ZopeDBTransactionManager and DataManagerAdapter,
      and also add it to the interface.
      
      r25273 | philikon | 2004-06-06 04:43:57 -0400 (Sun, 06 Jun 2004) | 4 lines
      Changed paths:
         M /Zope3/trunk/src/BTrees
         M /Zope3/trunk/src/ZODB
         M /Zope3/trunk/src/persistent
      
      Ignore .so files.
      
      This fix should probably be merged to the original ZODB tree.
      312632fa
    • Tim Peters's avatar
      a523f837
  17. 11 Aug, 2004 4 commits
    • Tim Peters's avatar
      Merge rev 27039 from ZODB 3.3 branch. · 879cd2fc
      Tim Peters authored
      These are preliminary 3.3c1 release changes.
      879cd2fc
    • Tim Peters's avatar
      0aa60725
    • Tim Peters's avatar
      66d8aa1e
    • Tim Peters's avatar
      Improve thread-death error reporting in tests. · adb8ff42
      Tim Peters authored
      Reworked the way some of the ZEO tests use threads, so that unittest is
      more likely to notice the real cause of a failure (which usually occurs in
      a thread), and less likely to latch on to spurious problems resulting from
      the real failure.
      
      Detail:  The TestThread class got the (unittest) test case as an argument,
      and remembered it.  If the run() method saw the thread die with an
      exception, it called testcase.fail() with the formatted exception.  But
      this can't work as apparently intended:  unittest's fail() raises an
      AssertionError then, and the piece of unittest running the test expects
      to catch that exception and append the message to the result object's
      list of failures.  But the piece of unittest running the test isn't on
      *this* thread's call stack!  It's on the main thread's call stack.
      So unittest simply raised an exception that wasn't noticed by anything,
      and the thread died then, leaving a traceback somewhere in the middle
      of the output.  unittest didn't know anything about that, and sometimes
      thought the test passed despite the thread failure.
      
      Alas, when a thread dies like this it's also got a decent chance of
      leaving things in a state where the test's final checking code can't
      succeed, but the checking code doesn't know the thread died either,
      and spurious unittest failures and errors could get reported then.
      
      Reworked things so that only the main thread ever tries to tell
      unittest that a test failed.  A TestThread remembers an exception-
      death now, but doesn't report it until the main thread tries to join
      it.  This way unittest knows the test failed; records and reports
      the true cause of failure; and, because tests generally join all their
      threads before doing their final checking, unittest stops the test
      before final checking if a thread death occurred, and so there's
      less chance of seeing reports of spurious errors and failures.
      adb8ff42
  18. 27 Jul, 2004 2 commits
    • Tim Peters's avatar
      Merge rev 26799 from 3.3 branch. · 127469a4
      Tim Peters authored
      Repair type in pack() docstring.
      127469a4
    • Tim Peters's avatar
      Merge r26771 from 3.3 branch. · ceb44f92
      Tim Peters authored
      repozo improvement suggested by Toby Dickenson.
      
      Write backups to a temp file first; flush and fsync when done;
      only then rename; in case of a crash, no relevant damaged file
      will be left behind then.  And on Windows, Python's os.fsync()
      is necessary to convince the OS to write anything to disk.
      ceb44f92
  19. 11 Jul, 2004 1 commit
  20. 10 Jul, 2004 1 commit
    • Tim Peters's avatar
      Forward port from Zope 2.7 branch, by way of the 3.3 branch. · 7c49891c
      Tim Peters authored
      Repaired a bug wherein spurious error msgs could be produced after
      reporting a problem with an unloadable object (discovered by eyeball,
      while staring at the code to figure out what it actually does).
      
      Vastly expanded the module docstring, with a slimmed-down version of
      the new fsrefs docs on the ZODB Wiki.
      
      7c49891c
  21. 08 Jul, 2004 1 commit
    • Tim Peters's avatar
      Port rev 26199 from the 3.3 branch. · 0bd33210
      Tim Peters authored
      Zope3-dev Collector #139: Memory leak involving buckets and connections
      
      Connection objects were typically immortal because the threaded
      transaction manager kept them in ever-growing lists.  Reworked the
      transaction manager internals to use a simple implementation of weak sets
      instead.  This plugs all leaks in the test program attached to the
      collector report (which was leaking about 100KB/sec on my box).
      0bd33210