[crac] RFR: PID adjustment on checkpoint

Roman Marchenko rmarchenko at openjdk.org
Tue Jun 20 17:53:00 UTC 2023

On restore, there might be PID value conflicts because of small PID values, if it was checkpoint'ed in a container. Therefore, when checkpointing in a container, we need to move PID value for new processes to a particular value to avoid conflicts on restore.

See https://github.com/CRaC/example-lambda/blob/master/checkpoint.cmd.sh#L8 for example.

This PR contains implemented functionality similar to the example above, making this work out of the box. By default, if checkpointing, PID value for new processes starts from 128. 

To set a custom value, `CRAC_MIN_PID` environment variable should be used. 
Min `CRAC_MIN_PID` value is 1, max `CRAC_MIN_PID` is not implemented currently.


Commit messages:
 - Implemented PID adjustment for checkpoint

Changes: https://git.openjdk.org/crac/pull/86/files
 Webrev: https://webrevs.openjdk.org/?repo=crac&pr=86&range=00
  Stats: 154 lines in 3 files changed: 144 ins; 0 del; 10 mod
  Patch: https://git.openjdk.org/crac/pull/86.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/86/head:pull/86

PR: https://git.openjdk.org/crac/pull/86

More information about the crac-dev mailing list