Revert "Use weakref for change cache"

This reverts commit b9704302bdb6857026319ac80df7b490a2282f89.

This is strongly suspected of causing a memory leak.

Change-Id: I0ebf9cee304277909a0b80420ac7ba659a437b29
diff --git a/zuul/scheduler.py b/zuul/scheduler.py
index 026763b..e5924f8 100644
--- a/zuul/scheduler.py
+++ b/zuul/scheduler.py
@@ -595,6 +595,8 @@
 
             self._reenqueueTenant(old_tenant, tenant)
 
+        # TODOv3(jeblair): update for tenants
+        # self.maintainConnectionCache()
         self.connections.reconfigureDrivers(tenant)
 
         # TODOv3(jeblair): remove postconfig calls?
@@ -726,6 +728,23 @@
             finally:
                 self.run_handler_lock.release()
 
+    def maintainConnectionCache(self):
+        # TODOv3(jeblair): update for tenants
+        relevant = set()
+        for tenant in self.abide.tenants.values():
+            for pipeline in tenant.layout.pipelines.values():
+                self.log.debug("Gather relevant cache items for: %s" %
+                               pipeline)
+
+                for item in pipeline.getAllItems():
+                    relevant.add(item.change)
+                    relevant.update(item.change.getRelatedChanges())
+        for connection in self.connections.values():
+            connection.maintainCache(relevant)
+            self.log.debug(
+                "End maintain connection cache for: %s" % connection)
+        self.log.debug("Connection cache size: %s" % len(relevant))
+
     def process_event_queue(self):
         self.log.debug("Fetching trigger event")
         event = self.trigger_event_queue.get()