[ZODB-Dev] Re: ZEO from ZODB-3.1.3 errors on Windows

Chris Withers chrisw at nipltd.com
Thu Sep 4 00:30:01 EDT 2003


Jeremy Hylton wrote:

> On Wed, 2003-09-03 at 16:26, Chris Withers wrote:
> 
>>1. Say this in the event log on the web client:
>>
>>2003-09-03T21:20:40 ERROR(200) zrpc-conn:localhost:6001 Asynchronous call raised
>>  exception: <ManagedConnection ('127.0.0.1', 6001)>
>>Traceback (innermost last):
>>   File E:\zope\2.6.1NZ\lib\python\ZEO\zrpc\connection.py, line 234, in handle_re
>>quest
>>   File E:\zope\2.6.1NZ\lib\python\ZEO\ClientStorage.py, line 994, in invalidateT
>>rans
>>     (Object: Main)
>>   File E:\zope\2.6.1NZ\lib\python\ZEO\ClientStorage.py, line 963, in _process_in
>>validations
>>     (Object: Main)
>>   File E:\Zope\262A8D~1.1\lib\python\ZODB\DB.py, line 302, in invalidate
>>TypeError: unhashable type
> 
> 
> Is this a common problem?  If it is, it would probably explain #2 below.

Yes, had a closer look.

This happens AS the python-only client commits its transaction, but on the web 
client. No transaction needs to happen on the web client for this, so I guess 
the storage server is pushing an invalidation message which is what's causing 
this error?

Anyway, I changed line 302 from:

         h=hash(oid)%131

to:

         try:
             h=hash(oid)%131
         except TypeError:
             print "TYPE:",type(oid)
             raise

and got:

TYPE: <type 'dictionary'>

Does this help at all?

cheers,

Chris




More information about the ZODB-Dev mailing list