You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The object API will temporarily create a mutable in order to refresh an object's model. This is to make sure all holders of that object get a fresh model and we are not maintaining multiple different versions of a model in memory.
Whenever a mutable is created however, it must be destroyed by the code that created it. It does not appear that this is happening currently, so this is a potential source of memory leaks that should be fixed.
We should also investigate why we have logic checking whether an object returned by a provider is a mutable. Objects returned by .get() should never be mutable, this is why we have a distinction between .get() and .getMutable()
Open MCT Version: 2.1.6
Impact Check List
Data loss or misrepresented data?
Regression? Did this used to work or has it always been broken?
Is there a workaround available?
Does this impact a critical component?
Is this just a visual bug with no functional impact?
Does this block the execution of e2e tests?
Does this have an impact on Performance?
The text was updated successfully, but these errors were encountered:
…ry leak (#6286)
cherry-pick(#6269): Possible memory leak in Object API (#6193)
* Destroy mutable after refresh
* Check if domainObject supports mutation before getting mutable
Co-authored-by: Jamie V <[email protected]>
Summary
The object API will temporarily create a mutable in order to refresh an object's model. This is to make sure all holders of that object get a fresh model and we are not maintaining multiple different versions of a model in memory.
Whenever a mutable is created however, it must be destroyed by the code that created it. It does not appear that this is happening currently, so this is a potential source of memory leaks that should be fixed.
We should also investigate why we have logic checking whether an object returned by a provider is a mutable. Objects returned by
.get()
should never be mutable, this is why we have a distinction between.get()
and.getMutable()
Impact Check List
The text was updated successfully, but these errors were encountered: