The "DBConnId" is very strange ("None" rather than "DB_Connection").
Somehow, the "tcache" and "cache" variables are inconsistent.
I do not know however, how this can happen.
A theoretical possibility would be two different "tcache" entries
tcache[i1] = tcache[i2] = query.
Then "cache[query]" would be deleted for the first entry
and the second entry would result in a "KeyError".
However, such a case should be impossible...
Interesting issue. I think the simplest thing that can be done is
to add some logging into _cached_result. It should allow to
track cache state and operations done on it just before the
Zope-DB mailing list