1. 12 May, 2005 3 commits
    • Tim Peters's avatar
      checkUndoInVersion(): Add an optional `hook` argument. · b8bcad99
      Tim Peters authored
      This gets called "in the middle" of the test, if specified.
      ZRS 1.5 uses this to pass a callback that arranges to start a
      ZRS secondary then.  ZRS had its own copy of this test, but
      it's a miserable & messy test, and the copy it had failed in
      5 different places when using ZODB 3.4 (it had gotten way of
      synch with changes since ZODB 3.2).
      
      Also removed all traces of the bizarre _x_dostore() method.
      Not sure what that was about, but if the comments were right
      we don't care about ZEO 1.0 anymore.
      b8bcad99
    • Tim Peters's avatar
      ZEO/tests/zeoserver.py, log(): repair broken interface · 6a7a79dc
      Tim Peters authored
      between old logging code and the use of Python's logging
      package.
      
      ZODB/tests/TransactionalUndoStorage.py, _exercise_info_indices():
      Jeez Louise, the new tests I added for undoInfo+undoLog work fine
      in ZODB, but break the ZRS tests(!).  They close the DB "too soon",
      and in one of the ZRS scenarios that leaves a recovering secondary
      without a primary to recover from.
      6a7a79dc
    • Tim Peters's avatar
      undoInfo() and undoLog() almost always returned wrong # of results. · 38aa0758
      Tim Peters authored
      Repaired, + new tests.
      38aa0758
  2. 11 May, 2005 3 commits
  3. 09 May, 2005 2 commits
  4. 06 May, 2005 7 commits
  5. 03 May, 2005 1 commit
    • Tim Peters's avatar
      Partial savepoint review. · e3f4fb77
      Tim Peters authored
      Added more comments.  Changed some comments to English.
      Renamed some attributes and methods for clarity.
      Switched to using a Python WeakKeyDictionary instead of
      rolling our own out of a Python dict and raw weakrefs.
      e3f4fb77
  6. 02 May, 2005 1 commit
    • Tim Peters's avatar
      Port from ZODB 3.2. · 4fee6a4b
      Tim Peters authored
      Added new test checkSubtxnCommitDoesntGetInvalidations to
      verify that a longstanding bug in subtransaction commit is
      repaired.
      
      Jim (Fulton) discovered this in ZODB 3.4's code, while implementing
      savepoint/rollback.  Same bugs had been there at least since ZODB 3.1.
      
      Also added news about the bug.
      4fee6a4b
  7. 28 Apr, 2005 1 commit
  8. 27 Apr, 2005 2 commits
    • Jim Fulton's avatar
      Fixed stupid bug. · 3ddf5afa
      Jim Fulton authored
      3ddf5afa
    • Jim Fulton's avatar
      Changed the strategy for managing savepoints. The requirements · f9de1eed
      Jim Fulton authored
      for savepoint management are:
      
      - All savepoints for a transaction should be invalidated when the
        transaction commits or aborts
      
      - If a savepoint is rolled back, then all savepoints after it within 
        a transaction must be invalidated.
      
      We previously implemented these requirements by organizing transaction
      savepoints into a doubly linked list.  This was overkill.  We didn't
      have need for such fine-grained ordering.  This strategy had the
      disadvantage that it kept all savepoints around until the transaction
      ended.  Savepoints could be expensive to keep and it's possible that
      some applications could keep a lot of them.
      
      The new stragey is to:
      
      - Keep weak references to savepoints.  We can forget about savepoints
        that the application isn't using.  Any resources used by these
        savepoints can be freed.
      
      (We have to keep a strong reference to the last savepoint used for
        a subtransaction.)
      
      - We assign indexes to savepoints within a transaction.  When a
        savepoint is rolled back, in addition to invalidating that
        savepoint, we also invalidate savepoints with a higher index.
      
      A side effect of this change is that code using the savepoint API
      should interfere less with code using subtransactions.  Of course, we
      really need to phase out code that uses subtransactions.
      
      It is likely that we can leverage this change in strategy to speed
      creation of ZODB connection savepoints.  Creating a ZODB connection
      savepoint now requires copying the savepoint storage index.  This
      index could become large.  If applications aren't holding on to old
      savepoints, then it is possible that we could avoid this copy.
      f9de1eed
  9. 26 Apr, 2005 3 commits
  10. 25 Apr, 2005 8 commits
  11. 24 Apr, 2005 9 commits