Get rid of circular references in Resource and Function
Circular references cause practically every bit of data that Heat uses to
remain in memory until the completion of an operation, and even then to
only be freed once the loop is detected by the garbage collector. By
breaking all of the loops using weak references, we can ensure that things
will get freed when they are no longer referenced without the need to wait
for garbage collection (which should also take a lot less time). This
change removes the loops from Resource and Function objects back to the
Stack.
Reviewed: https:/ /review. openstack. org/183217 /git.openstack. org/cgit/ openstack/ heat/commit/ ?id=60300b01495 2f5b2fa4c2a9010 876f5b871f0f66
Committed: https:/
Submitter: Jenkins
Branch: master
commit 60300b014952f5b 2fa4c2a9010876f 5b871f0f66
Author: Zane Bitter <email address hidden>
Date: Fri May 15 17:18:12 2015 -0400
Get rid of circular references in Resource and Function
Circular references cause practically every bit of data that Heat uses to
remain in memory until the completion of an operation, and even then to
only be freed once the loop is detected by the garbage collector. By
breaking all of the loops using weak references, we can ensure that things
will get freed when they are no longer referenced without the need to wait
for garbage collection (which should also take a lot less time). This
change removes the loops from Resource and Function objects back to the
Stack.
Change-Id: Ibf80e95e69a2f2 7ed29754a2e0f11 25e8eed0775
Closes-Bug: #1454873