[crac] RFR: Correct System.nanotime() value after restore [v10]

Radim Vansa duke at openjdk.org
Fri May 19 10:25:18 UTC 2023


> There are various places both inside JDK and in libraries that rely on monotonicity of `System.nanotime()`. When the process is restored on a different machine the value will likely differ as the implementation provides time since machine boot. This PR records wall clock time before checkpoint and after restore and tries to adjust the value provided by nanotime() to reasonably correct value.

Radim Vansa has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 23 commits:

 - Merge branch 'crac' into nanotime
 - Merge branch 'crac' into nanotime
 - More checks when reading boot ID
 - Merge branch 'crac' into nanotime
 - Do not use negative monotonic offset
 - Merge branch 'crac' into nanotime
 - Fix whitespaces
 - Use image under ghcr.io/crac
 - Ensure monotonicity for the same boot
 - Set nanotime only if bootid changes
 - ... and 13 more: https://git.openjdk.org/crac/compare/ed3efac0...7d7a4103

-------------

Changes: https://git.openjdk.org/crac/pull/53/files
 Webrev: https://webrevs.openjdk.org/?repo=crac&pr=53&range=09
  Stats: 313 lines in 7 files changed: 285 ins; 0 del; 28 mod
  Patch: https://git.openjdk.org/crac/pull/53.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/53/head:pull/53

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


More information about the crac-dev mailing list