You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A client has complained about a large increase in "FileStorage" size.
A quick analysis suggests that the "atreal.richfile.preview" previews
are responsible for this increase as previews are stored inside
the main ZODB not in blobs.
I have implemented a new "blobstore" (similar to "zodbstore") which
stores files in "BlobFile" rather than "ZodbFile". While developing
the corresponding migration script I hit the following bug:
"atreal.filestorage.common.zodbstore.ZodbDir" derives from
"OOBTree" but does not define its own "getstate/setstate".
As a consequence, the content of its instances dicts is
not persisted: after a "ZodbDir" is loaded from the ZODB,
it no longer has attributes "name" and "parent".
In general: it is not without problems to inherit from a persistent
class with special C-level data structures (such as "OOBTree").
In order to get their private C-level data persisted, such a class must define
a special "getstate/setstate" which (usually) do not take an instance
dict into account. A derived class with instance dicts must provide
its own "getstate/setstate" implementation which ensures that both
the C-level structures of the base class as well as the instance dicts
are persisted.
The text was updated successfully, but these errors were encountered:
From Dieter Maurer::
The text was updated successfully, but these errors were encountered: