Stacks have reference loops
Bug #1454873 reported by
Zane Bitter
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Zane Bitter | ||
Kilo |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Python objects that make up a Stack have reference loops that prevent them from ever reaching a 0 reference count. This means that substantially all of the memory allocated during a stack operation will remain in use until the first garbage collector run after the operation completes. This is bad for memory use and fragmentation, and likely also bad for performance as it requires massive garbage collector cleanup work.
The two cycles I've been able to detect from inspecting the code are caused by references from Resource -> Stack and Function -> Stack. It's possible that analysis with Python's gc debugging tools could reveal other cycles. Please leave a comment if you find others.
Changed in heat: | |
status: | New → Triaged |
Changed in heat: | |
milestone: | none → liberty-1 |
status: | Fix Committed → Fix Released |
tags: |
added: in-stable-kilo removed: kilo-backport-potential |
Changed in heat: | |
milestone: | liberty-1 → 5.0.0 |
To post a comment you must log in.
Related fix proposed to branch: master /review. openstack. org/183214
Review: https:/