[Checkins] SVN: Zope3/branches/3.2/src/zope/app/cache/ Fix bug where removeLeastAccessed would compare the triple ``[data,

Daniel Nouri daniel.nouri at gmail.com
Wed Jun 27 08:50:19 EDT 2007


Log message for revision 77124:
  Fix bug where removeLeastAccessed would compare the triple ``[data,
  ctime, access count]`` instead of just 'access count' when ordering
  entries by most accessed.
  
  

Changed:
  U   Zope3/branches/3.2/src/zope/app/cache/ram.py
  U   Zope3/branches/3.2/src/zope/app/cache/tests/test_ramcache.py

-=-
Modified: Zope3/branches/3.2/src/zope/app/cache/ram.py
===================================================================
--- Zope3/branches/3.2/src/zope/app/cache/ram.py	2007-06-27 12:24:47 UTC (rev 77123)
+++ Zope3/branches/3.2/src/zope/app/cache/ram.py	2007-06-27 12:50:19 UTC (rev 77124)
@@ -294,8 +294,8 @@
                 def cmpByCount(x,y):
                     ob1, key1 = x
                     ob2, key2 = y
-                    return cmp(self._data[ob1][key1],
-                               self._data[ob2][key2])
+                    return cmp(self._data[ob1][key1][2],
+                               self._data[ob2][key2][2])
                 keys.sort(cmpByCount)
 
                 ob, key = keys[self.maxEntries]

Modified: Zope3/branches/3.2/src/zope/app/cache/tests/test_ramcache.py
===================================================================
--- Zope3/branches/3.2/src/zope/app/cache/tests/test_ramcache.py	2007-06-27 12:24:47 UTC (rev 77123)
+++ Zope3/branches/3.2/src/zope/app/cache/tests/test_ramcache.py	2007-06-27 12:50:19 UTC (rev 77124)
@@ -434,15 +434,15 @@
         value = 'yes'
         timestamp = time()
         s._data = {object:  {key1: [value, 1, 10],
-                             key2: [value, 2, 5],
-                             key3: [value, 3, 2]},
-                   object2: {key1: [value, 4, 2],
-                             key2: [value, 5, 1],
-                             key3: [value, 6, 1]}}
+                             key2: [value, 6, 5],
+                             key3: [value, 2, 2]},
+                   object2: {key1: [value, 5, 2],
+                             key2: [value, 3, 1],
+                             key3: [value, 4, 1]}}
         s.removeLeastAccessed()
         self.assertEqual(s._data,
                          {object:  {key1: [value, 1, 0],
-                                    key2: [value, 2, 0]}},
+                                    key2: [value, 6, 0]}},
                          'least records removed incorrectly')
 
         s = Storage(maxEntries=6)



More information about the Checkins mailing list