-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUGFIX release] Fix container destroy timing #16754
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to tweak some other parts of the container destroy lifecycle also here, I'll get those changes pushed up into this PR shortly...
@@ -101,7 +101,7 @@ let containerProxyMixin = { | |||
this._super(...arguments); | |||
|
|||
if (this.__container__) { | |||
run(this.__container__, 'destroy'); | |||
schedule('destroy', this.__container__, 'destroy'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think more join
like behavior?
Separate destroying each destroyable (should be synchronous, from finalizing the container should be destroy queue).
|
Ensure `.destroy()` is called on all items in the container, _before_ marking `container.isDestroyed`. Only flush the caches after destroy is finalized.
Just pushed an update that should address the concerns that @krisselden / @stefanpenner brought up. Should be good to land once green... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ok. Only point of confusion I had is that finalizeDestroy
isn't automatically called. Is that as expected? Obviously, this is internal API, but I could see someone potentially calling only destroy
and never calling finalizeDestroy
.
@wagenet - The container itself is not actually exposed, any user-land code calling |
No description provided.