Skip to content
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

Fix Isolate.spawn for hot reload case after issue 6610 is fixed #35302

Closed
a-siva opened this issue Nov 30, 2018 · 1 comment
Closed

Fix Isolate.spawn for hot reload case after issue 6610 is fixed #35302

a-siva opened this issue Nov 30, 2018 · 1 comment
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends. closed-obsolete Closed as the reported issue is no longer relevant

Comments

@a-siva
Copy link
Contributor

a-siva commented Nov 30, 2018

When issue #6610 was first created we did not have the 'hot reload' feature, I think it is worth discussing the implications of hot-reloading and using the 'Isolate.spawn' API to spawn child isolates

If we spawn child isolates using the Isolate.spawn API and then hot reload the parent isolate or a child isolate we could potentially have isolates running different versions of the app and any messages passed consisting non primitive types could result in weird behavior
if we spawn a child isolate after a hot reload should it use the newly modified app script or the original one?
Getting this right in all situations would require having some kind of check pointing and getting all the isolates in the group reloaded with the new modified source. I don't believe it is worth spending engineering cycles trying to implement this corner case.

Here is what I propose

if we spawn child isolates and then hot reload an isolate in the group then only primitive values (null, num, bool, double, String), instances of SendPort, and lists and maps whose elements are any of these will be allowed in the messages to that isolate
if a spawn is done after a hot reload is done we will spawn the child isolate using the original app script an informational message could be produced recommending a restart in this case. Again in this case only the restricted set of messages would be allowed.

@a-siva a-siva added the area-vm Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends. label Nov 30, 2018
@a-siva a-siva added the closed-obsolete Closed as the reported issue is no longer relevant label Sep 11, 2023
@a-siva
Copy link
Contributor Author

a-siva commented Sep 11, 2023

Closing this issue as obsolete after the new light weight isolates was implemented.

@a-siva a-siva closed this as completed Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends. closed-obsolete Closed as the reported issue is no longer relevant
Projects
None yet
Development

No branches or pull requests

2 participants