From 6b61060b51970bd170fffd442df0e9f02ddcf678 Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Thu, 2 Feb 2017 14:47:15 +0000
Subject: [PATCH] Comment

---
 synapse/util/caches/descriptors.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/synapse/util/caches/descriptors.py b/synapse/util/caches/descriptors.py
index 3c6838df16..998de70d29 100644
--- a/synapse/util/caches/descriptors.py
+++ b/synapse/util/caches/descriptors.py
@@ -479,7 +479,10 @@ class CacheListDescriptor(object):
 
 class _CacheContext(namedtuple("_CacheContext", ("cache", "key"))):
     # We rely on _CacheContext implementing __eq__ and __hash__ sensibly,
-    # which namedtuple does for us.
+    # which namedtuple does for us (i.e. two _CacheContext are the same if
+    # their caches and keys match). This is important in particular to
+    # dedupe when we add callbacks to lru cache nodes, otherwise the number
+    # of callbacks would grow.
     def invalidate(self):
         self.cache.invalidate(self.key)
 
-- 
GitLab