[Zope] Transparent Folders curse strikes again: A play in two acts
Itai Tavor
itai@optusnet.com.au
Sun, 22 Jul 2001 20:28:49 +1000
Hi,
I've just been bitten with a Transparent Folder bug for the fourth
time. A Folder containting a Transparent Folder becomes itself
transparent, with the result that my whole ZODB is now a mess of
acquired objects that pretty much prevent anything from working
right. In the past the only way I found to clear the problem was to
delete the Transparent Folders, export everything, reimport and
recreate the TFs. But if it's just going to happen again, what's the
point?
Last time it happened I posted a message about it, which resulted in
absolutely nothing happening. I don't get it... I'm sure I'm not the
only one using Transparent Folders (or am I?)... how come nobody else
suffers from this? And it's not like I'm doing anything really
unusual... I just create a few TFs, throw in some methods and keep
working happily, and at some point everything becomes transparent.
Please someone tell me you know something about this, so I don't have
to give up on TFs and rebuild my entire ZODB...
Update:
I just installed TF 0.3.2, just to be safe. Then I wrote a method
that traversed the whole object tree and checked all Folders for a
_is_transparent property. Didn't find any. So far so good. Then I
changed it to print _transparent_object_ids for all objects that got
that property. Sure enough, Folders which contain TFs appear in the
list of their parent Folders. Well, at least it's not an obscure,
Itai-is-just-making-it-up kind of problem. I got proof!
Ok, I added a line to set _transparent_object_ids to () unless a
Folder really contains TFs. Problem gone. But do I believe it won't
come back? Not for a minute.
So, the question now, for anyone who understands the TF patch code,
is: how do these (very non-transparent) Folders get into the list,
and how do I ensure they don't get back on the list any time they
feel like it, without having to run this test method every day?
Itai
--
--
Itai Tavor -- "Je sautille, donc je suis." --
itai@optusnet.com.au -- - Kermit the Frog --
-- --
-- "If you haven't got your health, you haven't got anything" --