zuul/zuul/driver
James E. Blair b9704302bd Use weakref for change cache
The change cache is used to holf references to active Change objects
so that if something about them changes, the connection driver can
immediately update the data in memory and all enqueued items, etc,
will reflect the new data (because each logical change has a single
Change object that they reference).

However, once these objects are no longer referenced by any items
in pipelines or pending events, we don't need to keep them in the
cache.  We used to manually prune the cache, but that was difficult
and we stopped doing it some time ago.  Currently, this is a slow
but intentional memory leak.

Instead, let the python GC handle it for us by using weak references
to the Change objects in the cache.  Once the only references to
these objects are the cache itself, they will be discarded.

Change-Id: Id659888a41dd60b7e72e891a47f1f742c30d0cc4
2017-10-14 08:26:28 -07:00
..
bubblewrap Add /etc/alternatives to bwrap 2017-08-31 10:10:38 -07:00
gerrit Use weakref for change cache 2017-10-14 08:26:28 -07:00
git Optionally limit github to protected branches 2017-08-03 11:50:26 +02:00
github Use weakref for change cache 2017-10-14 08:26:28 -07:00
nullwrap Write secrets to tmpfs 2017-08-19 08:08:19 -07:00
smtp Docs: reformat SMTP driver docs 2017-08-04 10:30:59 -07:00
sql Fix sql reporting start/end times 2017-09-28 17:10:25 -07:00
timer Optionally limit github to protected branches 2017-08-03 11:50:26 +02:00
zuul Cleanup pipeline requirements 2017-07-28 10:37:59 -07:00
__init__.py Write secrets to tmpfs 2017-08-19 08:08:19 -07:00
util.py Add driver-specific pipeline requirements 2017-05-19 13:24:00 -07:00