[CalendarServer-changes] [4019] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Apr 14 13:05:43 PDT 2009


Revision: 4019
          http://trac.macosforge.org/projects/calendarserver/changeset/4019
Author:   sagen at apple.com
Date:     2009-04-14 13:05:42 -0700 (Tue, 14 Apr 2009)
Log Message:
-----------
Don't try to access memcached during upgradeData

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/tap/caldav.py
    CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py

Modified: CalendarServer/trunk/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/trunk/calendarserver/tap/caldav.py	2009-04-14 19:54:39 UTC (rev 4018)
+++ CalendarServer/trunk/calendarserver/tap/caldav.py	2009-04-14 20:05:42 UTC (rev 4019)
@@ -344,7 +344,12 @@
                 processLocalizationFiles(config.Localization)
 
                 # Now do any on disk upgrades we might need.
+                # Memcache isn't running at this point, so temporarily change
+                # the config so nobody tries to talk to it while upgrading
+                memcacheSetting = config.Memcached.ClientEnabled
+                config.Memcached.ClientEnabled = False
                 upgradeData(config)
+                config.Memcached.ClientEnabled = memcacheSetting
 
 
             service = serviceMethod(options)

Modified: CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py	2009-04-14 19:54:39 UTC (rev 4018)
+++ CalendarServer/trunk/twistedcaldav/directory/cachingdirectory.py	2009-04-14 20:05:42 UTC (rev 4019)
@@ -258,22 +258,23 @@
                 pass
             
             # Check memcache
-            key = "dir|%s|%s" % (indexType, indexKey)
-            record = self.memcacheGet(key)
-            self.log_debug("Memcache: checking %s" % (key,))
-            if record is None:
-                self.log_debug("Memcache: miss %s" % (key,))
-            else:
-                self.log_debug("Memcache: hit %s" % (key,))
-                self.recordCacheForType(record.recordType).addRecord(record)
-                return record
+            if config.Memcached.ClientEnabled:
+                key = "dir|%s|%s" % (indexType, indexKey)
+                record = self.memcacheGet(key)
+                self.log_debug("Memcache: checking %s" % (key,))
+                if record is None:
+                    self.log_debug("Memcache: miss %s" % (key,))
+                else:
+                    self.log_debug("Memcache: hit %s" % (key,))
+                    self.recordCacheForType(record.recordType).addRecord(record)
+                    return record
 
-            # Check negative memcache
-            val = self.memcacheGet("-%s" % (key,))
-            if val == 1:
-                self.log_debug("Memcache: negative %s" % (key,))
-                self._disabledKeys[indexType][indexKey] = time.time()
-                return None
+                # Check negative memcache
+                val = self.memcacheGet("-%s" % (key,))
+                if val == 1:
+                    self.log_debug("Memcache: negative %s" % (key,))
+                    self._disabledKeys[indexType][indexKey] = time.time()
+                    return None
 
             # Try query
             self.log_debug("Faulting record for attribute '%s' with value '%s'" % (indexType, indexKey,))
@@ -284,18 +285,19 @@
             if record:
                 self.log_debug("Found record for attribute '%s' with value '%s'" % (indexType, indexKey,))
 
-                # share with others via memcache
-                for shortName in record.shortNames:
-                    key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_SHORTNAME, shortName)
+                if config.Memcached.ClientEnabled:
+                    # share with others via memcache
+                    for shortName in record.shortNames:
+                        key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_SHORTNAME, shortName)
+                        self.log_debug("Memcache: storing %s" % (key,))
+                        self.memcacheSet(key, record)
+                    for emailAddress in record.emailAddresses:
+                        key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_EMAIL, emailAddress)
+                        self.log_debug("Memcache: storing %s" % (key,))
+                        self.memcacheSet(key, record)
+                    key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_GUID, record.guid)
                     self.log_debug("Memcache: storing %s" % (key,))
                     self.memcacheSet(key, record)
-                for emailAddress in record.emailAddresses:
-                    key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_EMAIL, emailAddress)
-                    self.log_debug("Memcache: storing %s" % (key,))
-                    self.memcacheSet(key, record)
-                key = "dir|%s|%s" % (CachingDirectoryService.INDEX_TYPE_GUID, record.guid)
-                self.log_debug("Memcache: storing %s" % (key,))
-                self.memcacheSet(key, record)
                 return record
 
 
@@ -303,8 +305,9 @@
             self.log_debug("Failed to fault record for attribute '%s' with value '%s'" % (indexType, indexKey,))
             self._disabledKeys[indexType][indexKey] = time.time()
 
-            self.log_debug("Memcache: storing (negative) %s" % (key,))
-            self.memcacheSet("-%s" % (key,), 1)
+            if config.Memcached.ClientEnabled:
+                self.log_debug("Memcache: storing (negative) %s" % (key,))
+                self.memcacheSet("-%s" % (key,), 1)
 
         return None
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090414/aaa9f803/attachment.html>


More information about the calendarserver-changes mailing list