[Zodb-checkins] SVN: ZODB/branches/hannosch-pickle-protocol2/ Warmup excercise, handle the protocol level of the zeo cache
Hanno Schlichting
hannosch at hannosch.eu
Sat May 1 07:51:50 EDT 2010
Log message for revision 111817:
Warmup excercise, handle the protocol level of the zeo cache
Changed:
U ZODB/branches/hannosch-pickle-protocol2/etc/sample.conf
U ZODB/branches/hannosch-pickle-protocol2/src/ZEO/ClientStorage.py
U ZODB/branches/hannosch-pickle-protocol2/src/ZODB/component.xml
U ZODB/branches/hannosch-pickle-protocol2/src/ZODB/config.py
-=-
Modified: ZODB/branches/hannosch-pickle-protocol2/etc/sample.conf
===================================================================
--- ZODB/branches/hannosch-pickle-protocol2/etc/sample.conf 2010-05-01 11:18:59 UTC (rev 111816)
+++ ZODB/branches/hannosch-pickle-protocol2/etc/sample.conf 2010-05-01 11:51:50 UTC (rev 111817)
@@ -31,3 +31,13 @@
cache-size 200000000
</zeoclient>
</zodb>
+
+<zodb zeofs_pcache_prot2>
+ <zeoclient>
+ server $host:8100
+ client 1
+ var var
+ cache-size 200000000
+ cache-protocol 2
+ </zeoclient>
+</zodb>
Modified: ZODB/branches/hannosch-pickle-protocol2/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/branches/hannosch-pickle-protocol2/src/ZEO/ClientStorage.py 2010-05-01 11:18:59 UTC (rev 111816)
+++ ZODB/branches/hannosch-pickle-protocol2/src/ZEO/ClientStorage.py 2010-05-01 11:51:50 UTC (rev 111817)
@@ -123,6 +123,7 @@
username='', password='', realm=None,
blob_dir=None, shared_blob_dir=False,
blob_cache_size=None, blob_cache_size_check=10,
+ cache_protocol=1,
):
"""ClientStorage constructor.
@@ -234,6 +235,9 @@
loaded into the cache. Defaults to 10% of the blob cache
size. This option is ignored if shared_blob_dir is true.
+ cache_protocol
+ The pickle protocol used for the ZEO cache. Defaults to 1.
+
Note that the authentication protocol is defined by the server
and is detected by the ClientStorage upon connecting (see
testConnection() and doAuth() for details).
@@ -396,8 +400,8 @@
cache_path = None
self._cache = self.ClientCacheClass(cache_path, size=cache_size)
+ self._cache_protocol = cache_protocol
-
self._blob_cache_size = blob_cache_size
self._blob_data_bytes_loaded = 0
if blob_cache_size is not None:
@@ -1299,7 +1303,7 @@
# setup tempfile to hold zeoVerify results and interim
# invalidation results
self._tfile = tempfile.TemporaryFile(suffix=".inv")
- self._pickler = cPickle.Pickler(self._tfile, 1)
+ self._pickler = cPickle.Pickler(self._tfile, self._cache_protocol)
self._pickler.fast = 1 # Don't use the memo
if self._connection.peer_protocol_version < 'Z309':
Modified: ZODB/branches/hannosch-pickle-protocol2/src/ZODB/component.xml
===================================================================
--- ZODB/branches/hannosch-pickle-protocol2/src/ZODB/component.xml 2010-05-01 11:18:59 UTC (rev 111816)
+++ ZODB/branches/hannosch-pickle-protocol2/src/ZODB/component.xml 2010-05-01 11:51:50 UTC (rev 111817)
@@ -138,6 +138,11 @@
The maximum size of the client cache, in bytes, KB or MB.
</description>
</key>
+ <key name="cache-protocol" required="no" datatype="integer">
+ <description>
+ The pickle protocol used for the cache. Defaults to 1.
+ </description>
+ </key>
<key name="name" default="">
<description>
The storage name. If unspecified, the address of the server
Modified: ZODB/branches/hannosch-pickle-protocol2/src/ZODB/config.py
===================================================================
--- ZODB/branches/hannosch-pickle-protocol2/src/ZODB/config.py 2010-05-01 11:18:59 UTC (rev 111816)
+++ ZODB/branches/hannosch-pickle-protocol2/src/ZODB/config.py 2010-05-01 11:51:50 UTC (rev 111817)
@@ -188,6 +188,8 @@
options['blob_cache_size'] = self.config.blob_cache_size
if self.config.blob_cache_size_check is not None:
options['blob_cache_size_check'] = self.config.blob_cache_size_check
+ if self.config.cache_protocol is not None:
+ options['cache_protocol'] = self.config.cache_protocol
return ClientStorage(
L,
More information about the Zodb-checkins
mailing list