Connection._rollback does not free oids for reuse

Bug #588389 reported by Jacob Holm
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released

Bug Description

A new feature in 3.10a2 was to reuse object ids that were allocated during a transaction that was later aborted. However, Connection._rollback has not been updated to do the same. This means that rolling back to a savepoint made before the connection joined the transaction (which is indistinguishable from an abort) has a different effect on the un-created objects than rolling back to a savepoint made after. This is not usually a problem, as these objects are in an undefined state anyway (they are not "rolled back" because we have no state to roll back to). However, for consistency I think we should reuse the oids in the same transaction as well. Here is a patch (with tests) that does that.

Revision history for this message
Jacob Holm (jacobholm) wrote :
Revision history for this message
Jim Fulton (jim-zope) wrote :

for 3.10 b7

Changed in zodb:
status: New → Fix Committed
Changed in zodb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers