[ZODB-Dev] Errors running a Stress Test
Brandon Ehle
azverkan at yahoo.com
Tue Mar 16 13:03:39 EST 2004
Tim Peters wrote:
> [Brandon Ehle]
>
>>I've used ZODB w/ ZEO in the past, and I wrote a quick stress test to
>>try and test for bugs that I've encountered in the past. I'm
>>currently running into lots of bugs that I haven't seen before,
>
>
> You showed exactly two tracebacks later, one on the server and one on the
> client. How does that relate to "lots"? For example, you have many
> instances of these same two tracebacks? You have many distinct tracebacks,
> but tired of collecting them? Something else?
>
When exceptions start happening for me, they repeat ALOT. There were
some other exceptions, but by the time I could grab them, they scrolled
right off my 10MB limit.
>
>>so perhaps I'm doing something wrong that I didn't notice, but I was
>>curious if anyone else was seeing these problems.
>
>
> We've gotten little feedback on 3.3a2 so far, and (of course) it is an alpha
> release. Thanks for testing it!
>
>
>>After running for a couple hours I got all sorts of errors. Am I
>>doing something obviously wrong, or am I just tickling ZODB in the
>>wrong way?
>
>
> They're probably bugs. *Starting* the database isn't robust:
>
>
>> conn = db.open()
>> if 'test' not in conn.root():
>> conn.root()['test'] = OOBTree()
>> get_transaction().commit()
>
Originally I was only running 1 thread, which is probably why I never
noticed.
>
> because when you first run it, all the threads may try to create the root's
> 'test' simultaneously. Indeed, that's what happened when I first tried it,
> leaving only one thread surviving to continue beyond that point. The rest
> looked fine to me, though.
>
>
>>***** Client side errors
>>...
>> File "C:\Python23\Lib\site-packages\ZEO\cache.py", line 725, in
>> _makeroom size, e = self.filemap.pop(ofs)
>>KeyError: 301258
>
>
> Probably a bug in the new ZEO client cache.
>
>
>
>>***** Server side errors
>>
>>2004-03-15T11:46:52 ERROR(200) Conflict Resolution Unexpected error
>>Traceback (most recent call last):
>> File "C:\Python23\Lib\site-packages\ZODB\ConflictResolution.py",
>>line 108, in tryToResolveConflict
>> old = state(self, oid, oldSerial, prfactory)
>> File "C:\Python23\Lib\site-packages\ZODB\ConflictResolution.py",
>>line 38, in state
>> p = p or self.loadSerial(oid, serial)
>> File
>>"C:\Python23\Lib\site-packages\ZODB\FileStorage\FileStorage.py", line
>> 581, in loadSerial raise POSKeyError(oid)
>>POSKeyError: 0000000000000001
>
>
> Probably some other bug <wink>.
>
>
>>Win2K SP4
>>Python-2.3.3
>>ZODB-3.3a2
>
>
> If you can, try running from current CVS HEAD of the ZODB module. Bugs have
> certainly been fixed since 3.3a2 was released, although it would take more
> time than I've got to guess whether they account for your symptoms.
>
I'll give that a whirl today.
> I've been running your test for about half an hour now on ZODB HEAD without
> incident, but with server and clients all on a single machine (that's all I
> can get at now), also on Windows.
>
> Oops! I saw one akin to your server-side traceback whiz by while typing
> that. Nothing odd on the clients yet.
>
I left this running over the weekend and when I got in Monday is when I
noticed all the exceptions whizzing by. It was fine when I left on
Friday (it had been running for 2 hours maybe).
More information about the ZODB-Dev
mailing list