Skip to content

Checkpoint and Restore #17103

Description

@juancampa

Hi, I was reading through @hashseed's proposal in #17058 and started wondering if this could be used to "checkpoint & restore" a running node program. I understand that a process is more than just the isolate and contexts (i.e there are OS-level resources like file descriptors, sockets, etc that are not serializable). But assuming that it would be acceptable to lose that part of the state. Is this something that is currently possible? would this be enabled or facilitated by the #17058 proposal?

I was picturing something like: send a signal to a running node.js process (i.e. kill –USR2 3049) and cause it to: wait until the current callstack is finished, serialize the state into a file, and exit. Later the same program could be restored by providing the file to a new process. Of course any file/network IO would have to be manually restored at this point.

Basically something like CRIU but specifically for node.js which could make it potentially faster and space efficient.

Activity

  1. refack commented on Nov 17, 2017

    @refack
    Contributor

    Hello @juancampa,

    Check out the discussion in #13877

  2. juancampa commented on Nov 18, 2017

    @juancampa
    Author

    Thanks @refack. I also asked on #17058 and got a direct answer here: #17058 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionIssues asking questions about Node.js.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions