[CalendarServer-changes] [5046] CalendarServer/branches/users/sagen/locations-resources/ twistedcaldav/directory

source_changes at macosforge.org source_changes at macosforge.org
Fri Feb 5 11:37:42 PST 2010


Revision: 5046
          http://trac.macosforge.org/projects/calendarserver/changeset/5046
Author:   sagen at apple.com
Date:     2010-02-05 11:37:39 -0800 (Fri, 05 Feb 2010)
Log Message:
-----------
Directory record memcached keys now use service.baseGUID and recordTypes so as not to cross-contaminate between services

Modified Paths:
--------------
    CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/cachingdirectory.py
    CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/accounts.xml
    CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/test_xmlfile.py
    CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/xmlfile.py

Modified: CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/cachingdirectory.py
===================================================================
--- CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/cachingdirectory.py	2010-02-05 05:56:16 UTC (rev 5045)
+++ CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/cachingdirectory.py	2010-02-05 19:37:39 UTC (rev 5046)
@@ -73,6 +73,7 @@
             CachingDirectoryService.INDEX_TYPE_CUA    : {},
             CachingDirectoryService.INDEX_TYPE_AUTHID   : {},
         }
+        self.directoryService = directoryService
 
     def addRecord(self, record, indexType, indexKey, useMemcache=True,
         neverExpire=False):
@@ -92,7 +93,9 @@
         for indexType, indexKey in indexTypes:
             self.recordsIndexedBy[indexType][indexKey] = record
             if useMemcache:
-                key = "dir|%s|%s" % (indexType, indexKey)
+                key = "dir|%s|%s|%s|%s" % (self.directoryService.baseGUID,
+                    indexType, indexKey,
+                    "|".join(self.directoryService.recordTypes()))
                 self.log_debug("Memcache: storing %s" % (key,))
                 try:
                     self.directoryService.memcacheSet(key, record)
@@ -292,7 +295,8 @@
             
             # Check memcache
             if config.Memcached.Pools.Default.ClientEnabled:
-                key = "dir|%s|%s" % (indexType, indexKey)
+                key = "dir|%s|%s|%s|%s" % (self.baseGUID, indexType, indexKey,
+                    "|".join(self.recordTypes()))
                 self.log_debug("Memcache: checking %s" % (key,))
 
                 try:

Modified: CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/accounts.xml
===================================================================
--- CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/accounts.xml	2010-02-05 05:56:16 UTC (rev 5045)
+++ CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/accounts.xml	2010-02-05 19:37:39 UTC (rev 5046)
@@ -54,13 +54,6 @@
     <email-address>dreid at example.com</email-address>
   </user>
   <user>
-    <uid>sagen</uid>
-    <guid>34360DAD-9BDE-4508-3C34-250394720345</guid>
-    <password>negas</password>
-    <name>Morgen Sagen</name>
-    <email-address>sagen at example.com</email-address>
-  </user>
-  <user>
     <uid>nocalendar</uid>
     <guid>543D28BA-F74F-4D5F-9243-B3E3A61171E5</guid>
     <password>radnelacon</password>

Modified: CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/test_xmlfile.py
===================================================================
--- CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/test_xmlfile.py	2010-02-05 05:56:16 UTC (rev 5045)
+++ CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/test/test_xmlfile.py	2010-02-05 19:37:39 UTC (rev 5046)
@@ -195,11 +195,13 @@
 <accounts realm="Test Realm">
   <group>
     <uid>enabled</uid>
+    <guid>enabled</guid>
     <password>enabled</password>
     <name>Enabled</name>
   </group>
   <group>
     <uid>disabled</uid>
+    <guid>disabled</guid>
     <password>disabled</password>
     <name>Disabled</name>
   </group>

Modified: CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/xmlfile.py	2010-02-05 05:56:16 UTC (rev 5045)
+++ CalendarServer/branches/users/sagen/locations-resources/twistedcaldav/directory/xmlfile.py	2010-02-05 19:37:39 UTC (rev 5046)
@@ -80,6 +80,12 @@
     def recordTypes(self):
         return self._recordTypes
 
+    def listRecords(self, recordType):
+        for xmlPrincipal in self._accounts()[recordType].itervalues():
+            record = self.recordWithGUID(xmlPrincipal.guid)
+            if record is not None:
+                yield record
+
     def queryDirectory(self, recordTypes, indexType, indexKey):
         
         for recordType in recordTypes:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100205/afe7e9d4/attachment.html>


More information about the calendarserver-changes mailing list