[Erp5-report] r41372 nicolas.dumazet - /erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 13 06:34:37 CET 2010


Author: nicolas.dumazet
Date: Mon Dec 13 06:34:37 2010
New Revision: 41372

URL: http://svn.erp5.org?rev=41372&view=rev
Log:
do not die completely if memcached server isnt here

Raising KeyError means more cache misses, and it's acceptable:
on the other hand crashing an instance just because you install
a BT that has a memcache cache configured that can't access
the memcache daemon was just wrong.

Modified:
    erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py

Modified: erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py?rev=41372&r1=41371&r2=41372&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Tool/MemcachedTool.py [utf8] Mon Dec 13 06:34:37 2010
@@ -184,7 +184,14 @@ if memcache is not None:
           result = self.memcached_connection.get(encoded_key)
         except memcache.Client.MemcachedConnectionError:
           self._initialiseConnection()
-          result = self.memcached_connection.get(encoded_key)
+          try:
+            result = self.memcached_connection.get(encoded_key)
+          except memcache.Client.MemcachedConnectionError:
+            # maybe the server is not available at all / misconfigured
+            LOG('MemcacheTool', 0,
+                'get command to memcached server (%r) failed'
+                % (self.server_list,))
+            raise KeyError
         self.local_cache[key] = result
       return result
 



More information about the Erp5-report mailing list