[ZODB-Dev] ZODB 3.9.3 history call causing problems for storages that still accept version parameters
Chris Withers
chris at simplistix.co.uk
Thu Nov 19 17:38:26 EST 2009
Chris Withers wrote:
> Jim Fulton wrote:
>> I'm fine with change the storage server to pass the history size
>> argument as a keyword parameter.
>
> Okay, but where is the Z309 equivalent of ZEOStorage308Adapter's history
> method?
Ug, the answer is much less pleasant :-(
So, a ZODB 3.9.3 ClientStorage calls the ServerStub's history method,
this does an rpc call:
self.rpc.call('history', oid, length)
Which comes in on the server and gets despatched straight out in:
/ZEO/zrpc/connection.py", line 581, in handle_request
This, of course, means we can't pull the keyword parameters trick, since
ZEO's rpc doesn't support keyword parameters from what I saw...
I'm not sure what to suggest here...
- release a new version of zeoraid targeted at zodb 3.9+ that doesn't
include any version parameters anywhere. (I dunno how Christian would
feel about the maintenance burden)
- drop support for zodb < 3.9 in zeoraid and remove all version
parameters. That'd be fine by me, dunno how Christian would feel.
- use some kind of StorageInterface to indicate what parameters a
storage expects. (this would require work on both zeoraid and zeoraid :-/)
- make zrpc.connection.Connection.handle_request do some fancier work
around 581 to check what parameters the method is expecting. I worry
that might impact performance though...
Help?
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
More information about the ZODB-Dev
mailing list