-
Notifications
You must be signed in to change notification settings - Fork 43
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
[MOD-3535] snapshots capture references to modal objects which become #2164
[MOD-3535] snapshots capture references to modal objects which become #2164
Conversation
…es-to-modal-objects-which-become
…es-to-modal-objects-which-become
4388725
to
196dfb5
Compare
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.
Random thing this just made me wonder about — what happens if you snapshot/restore across client version boundaries?
@mwaskom the client version will be fixed across snapshot/restore because it's the same container with the same client mount. If the Function's client mount changes the the snapshot would be invalidated. |
…es-to-modal-objects-which-become
…es-to-modal-objects-which-become
Describe your changes
In cases where a Modal object is looked up in global scope or in an
@enter
lifecycle function, memory snapshotting will freeze that object's ID and reuse it in perpetuity, not invalidating the reference if it creates a runtime error after restore.This PR changes it so that upon restore these lookups must be redone. This is a small performance loss but maintains correctness.
Backward/forward compatibility checks
Check these boxes or delete any item (or this section) if not relevant for this PR.
Note on protobuf: protobuf message changes in one place may have impact to
multiple entities (client, server, worker, database). See points above.