[Checkins] SVN: relstorage/trunk/ In pylibmc_wrapper, log memcache errors as warnings.

Shane Hathaway shane at hathawaymix.org
Thu Sep 29 02:49:55 EST 2011


Log message for revision 122992:
  In pylibmc_wrapper, log memcache errors as warnings.
  

Changed:
  U   relstorage/trunk/CHANGES.txt
  U   relstorage/trunk/relstorage/pylibmc_wrapper.py

-=-
Modified: relstorage/trunk/CHANGES.txt
===================================================================
--- relstorage/trunk/CHANGES.txt	2011-09-28 21:35:21 UTC (rev 122991)
+++ relstorage/trunk/CHANGES.txt	2011-09-29 07:49:54 UTC (rev 122992)
@@ -13,6 +13,8 @@
   read-only database replica for load connections. This allows
   RelStorage to use read-only database replicas whenever possible.
 
+TODO: provide a default random memcache prefix that is consistent per database.
+
 1.5.0 (2011-06-30)
 ------------------
 

Modified: relstorage/trunk/relstorage/pylibmc_wrapper.py
===================================================================
--- relstorage/trunk/relstorage/pylibmc_wrapper.py	2011-09-28 21:35:21 UTC (rev 122991)
+++ relstorage/trunk/relstorage/pylibmc_wrapper.py	2011-09-29 07:49:54 UTC (rev 122992)
@@ -19,8 +19,11 @@
 
 import pylibmc
 from _pylibmc import MemcachedError  # pylibmc >= 0.9
+import logging
 
+log = logging.getLogger(__name__)
 
+
 class Client(object):
     behaviors = {
         "tcp_nodelay": True,
@@ -38,44 +41,51 @@
     def get(self, key):
         try:
             return self._client.get(key)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('get failed: %s', e)
             return None
 
     def get_multi(self, keys):
         try:
             return self._client.get_multi(keys)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('get_multi failed: %s', e)
             return None
 
     def set(self, key, value):
         try:
             return self._client.set(
                 key, value, min_compress_len=self.min_compress_len)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('set failed: %s', e)
             return None
 
     def set_multi(self, d):
         try:
             return self._client.set_multi(
                 d, min_compress_len=self.min_compress_len)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('set_multi failed: %s', e)
             return None
 
     def add(self, key, value):
         try:
             return self._client.add(
                 key, value, min_compress_len=self.min_compress_len)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('add failed: %s', e)
             return None
 
     def incr(self, key):
         try:
             return self._client.incr(key)
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('incr failed: %s', e)
             return None
 
     def flush_all(self):
         try:
             self._client.flush_all()
-        except MemcachedError:
+        except MemcachedError, e:
+            log.warning('flush_all failed: %s', e)
             return None



More information about the checkins mailing list