[CalendarServer-changes] [4852] CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py
source_changes at macosforge.org
source_changes at macosforge.org
Thu Dec 10 13:50:11 PST 2009
Revision: 4852
http://trac.macosforge.org/projects/calendarserver/changeset/4852
Author: sagen at apple.com
Date: 2009-12-10 13:50:08 -0800 (Thu, 10 Dec 2009)
Log Message:
-----------
Don't let directory-related memcached errors cause a 500
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py
Modified: CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py 2009-12-10 19:15:35 UTC (rev 4851)
+++ CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py 2009-12-10 21:50:08 UTC (rev 4852)
@@ -93,7 +93,11 @@
if useMemcache:
key = "dir|%s|%s" % (indexType, indexKey)
self.log_debug("Memcache: storing %s" % (key,))
- self.directoryService.memcacheSet(key, record)
+ try:
+ self.directoryService.memcacheSet(key, record)
+ except DirectoryMemcacheError:
+ self.log_error("Memcache: failed to store %s" % (key,))
+ pass
def removeRecord(self, record):
@@ -291,8 +295,14 @@
# Check memcache
if config.Memcached.ClientEnabled:
key = "dir|%s|%s" % (indexType, indexKey)
- record = self.memcacheGet(key)
self.log_debug("Memcache: checking %s" % (key,))
+
+ try:
+ record = self.memcacheGet(key)
+ except DirectoryMemcacheError:
+ self.log_error("Memcache: failed to get %s" % (key,))
+ record = None
+
if record is None:
self.log_debug("Memcache: miss %s" % (key,))
else:
@@ -301,7 +311,11 @@
return record
# Check negative memcache
- val = self.memcacheGet("-%s" % (key,))
+ try:
+ val = self.memcacheGet("-%s" % (key,))
+ except DirectoryMemcacheError:
+ self.log_error("Memcache: failed to get -%s" % (key,))
+ val = None
if val == 1:
self.log_debug("Memcache: negative %s" % (key,))
self._disabledKeys[indexType][indexKey] = time.time()
@@ -324,8 +338,13 @@
if config.Memcached.ClientEnabled:
self.log_debug("Memcache: storing (negative) %s" % (key,))
- self.memcacheSet("-%s" % (key,), 1)
+ try:
+ self.memcacheSet("-%s" % (key,), 1)
+ except DirectoryMemcacheError:
+ self.log_error("Memcache: failed to set -%s" % (key,))
+ pass
+
return None
def queryDirectory(self, recordTypes, indexType, indexKey):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091210/7fcbd944/attachment.html>
More information about the calendarserver-changes
mailing list