[ZODB-Dev] TmpStore missing loadBefore

Sidnei da Silva sidnei at enfoldsystems.com
Sun Jun 26 22:05:57 EDT 2005

On Sun, Jun 26, 2005 at 09:43:43PM -0400, Tim Peters wrote:
| I'll make an internal 3.4.1a1 release and stitch that into Zope 2.8 branch
| and Zope trunk tomorrow.  "Internal" means I skip most of the steps in a
| full-blown release (will not create a ZODB tarball or Windows installers,
| will not register it with PyPI, will not send a release announcement, ...).
| I won't make any serious move toward releasing 3.4.1 before I detect serious
| work elsewhere toward releasing Zope 2.8.1 or Zope 2.9 (ZODB releases are
| driven by Zope releases).

I would expect a 2.8.1 soon, as in no longer than 3 weeks from now
tops. There's this bug which I would consider 'serious' and another
issue with the last-minute inclusion of BTreeFolder2 breaking CMF
1.5. IANRM though.

| > Good, I had came to the same result with test and all *wink*. Wish I had
| > looked at checkins before.
| Indeed, and you're even one of the few people subscribed to zodb-checkins
| <wink>.  BTW, Jim & I conspired last Wednesday to stop the flow of spam
| coming from that list, so if anyone unsubscribed in a fit of Spam Hatred,
| feel free to sign up again.

And indeed I got the checking email. And, Oh! I know how I missed that
one. I was in the u.s. consulate getting a visa and it went unnoticed
as I cleaned the barrage of emails when I got back home. Doh!

| > Humm... I don't see where the assumption would be except for a import
| > dependency.
<snip explanation about filestorage and zeo and savepoints>

Yes, I understand that. Maybe I've overestimate the value of this.

| > My fear is that TmpStore does basically what FileStorage does
| Ah, maybe that's where we're getting off track.  Not really; TmpStore and
| FileStorage both write pickles to files, and both keep a kind of index
| structure, but those are shallow similarities.  TmpStore is about 60 lines
| of code total, while FileStorage is almost 2100 in FileStorage.py alone (not
| counting support modules only FileStorage uses); because TmpStore _must_
| defer to the underlying storage for most operations, it couldn't even
| usefully take more from FileStorage.

But, but, but... even for those 60 lines, would it make sense to
factor out the code from FileStorage so that they could share just
this small bit of common functionality?

| > but get way less attention and ends up bitrotting. This is not the first
| > time I've hit a (shallow) bug in TmpStore that would just be triggered by
| > a fairly big or long subtransaction/savepoint.
| More tests would be appreciated!  Since nobody looks at most of this code
| most of the time, tests are the only reliable defense we have.  Jim
| "confessed" last week that he deliberately didn't write TmpStore tests
| originally because TmpStore is "an internal implementation detail".  You'll
| note that the new test I added didn't mention TmpStore either, except in
| comments.  For that matter, the new test didn't use FileStorage either (it
| used MinimalMemoryStorage, which is a bare-bones storage used only in the
| test suite).  Tests specifically against TmpStore would be welcome.

/me adds to bottom of todo list.

Sidnei da Silva
Enfold Systems, LLC.

More information about the ZODB-Dev mailing list