adoptium / adoptium/aqa-tests

CRIU: Streamline adoption of criu tests with HCR

Open
#4,302 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
155
Forks
346
Avg merge
2d 9h
Merged PRs (30d)
36

Description

Checkpoint/restore is a new mode of execution where the JVM is start then checkpoint, and restored at a later time. Between checkpoint and restore there may changes that occur in the execution environment. The JVM has compensations for obvious changes (time related APIs), however there may be more subtle changes that occur that are more difficult to track.

For this reason there is a need for broader testing tin the checkpoint restore mode. On approach is to re-write all existing tests for checkpoint/restore, but this is unfeasible. Another approach is to use an agent (like
https://github.com/adoptium/aqa-systemtest/blob/0eb9f57f198fe194c070295c261e8bafeaed08aa/openjdk.test.debugging/docs/HCR_README.md) to insert a checkpoint into the existing tests and modify the test harness to restore the process after it has been checkpointed.

Three key things are needed:
1. Determine where checkpoint should be inserted
2. Agent to insert checkpoint in to test run
3. Modify harness to detect when checkpoint is taken and restore it

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked HCR_README and then inspect the existing test harness and checkpoint/restore tests. The work is complete when the harness can determine where to checkpoint, run an agent that inserts the checkpoint, and restore the process after checkpointing across existing tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
testing, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.