ClientStorage: tpc_finish may break

Bug #224169 reported by Thomas Lotze
2
Affects Status Importance Assigned to Milestone
ZODB
Fix Released
Medium
Unassigned

Bug Description

ClientStorage's tpc_finish calls _update_cache which in turn calls rename_or_copy_blob. The latter may run into errors when actually copying the blob file, or when accessing the blob file in the first place if some storage component is buggy, for instance. This error is never caught even though tpc_finish is meant to break under no circumstances.

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

Agreed. It could be improved (and the logic probably simplified) by doing an initial rename_or_copy_blob to a temporary file as is done when dealing with shared blob directories. Then when the transaction is committed, all that's necessary is a rename which really shoudn't fail.

Changed in zodb:
importance: Undecided → Medium
status: New → Confirmed
Jim Fulton (jim-zope)
Changed in zodb:
status: Confirmed → Fix Committed
Revision history for this message
Tres Seaver (tseaver) wrote :

Fix released with ZODB 3.9.0:

 http://pypi.python.org/pypi/ZODB3/3.9.0#id14

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