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/183723 /git.openstack. org/cgit/ openstack/ heat/commit/ ?id=a5297fec8a4 70d2aef8e41c1c4 bee16f986aff74
Committed: https:/
Submitter: Jenkins
Branch: stable/kilo
commit a5297fec8a470d2 aef8e41c1c4bee1 6f986aff74
Author: Zane Bitter <email address hidden>
Date: Wed May 13 18:56:32 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 f90604bf60a69fd f9f64b981d,
203b8e8ecf9 1ad7c75dd7072c8 5930de4f8c1c42,
d29bb192748 9d5590f17d2f3ef 2904b6f5edd0d4,
60300b01495 2f5b2fa4c2a9010 876f5b871f0f66)
Closes-Bug: #1454873
(cherry-picked from commits 2032548c4e501eb