[crac] Integrated: Ensure G1 GC is completed before creating a snapshot

Jan Kratochvil jkratochvil at openjdk.org
Mon Sep 4 16:56:09 UTC 2023


On Tue, 25 Jul 2023 11:24:38 GMT, Jan Kratochvil <jkratochvil at openjdk.org> wrote:

> @rvansa did report his snapshots are about 2x-3x bigger than they should be. He then also found it only happens if the snapshot is done too quickly after GC should have been run.
> 
> One can reproduce the race case by:
> 
> --- a/src/hotspot/share/gc/g1/g1UncommitRegionTask.hpp
> +++ b/src/hotspot/share/gc/g1/g1UncommitRegionTask.hpp
> @@ -35,7 +35,7 @@ class G1UncommitRegionTask : public G1ServiceTask {
>    // is short, while still making reasonable progress.
>    static const uint UncommitSizeLimit = 128 * M;
>    // Initial delay in milliseconds after GC before the regions are uncommitted.
> -  static const uint UncommitInitialDelayMs = 100;
> +  static const uint UncommitInitialDelayMs = 10*1000;
>    // The delay between two uncommit task executions.
>    static const uint UncommitTaskDelayMs = 10;

This pull request has now been integrated.

Changeset: eb87a387
Author:    Jan Kratochvil <jkratochvil at openjdk.org>
Committer: Anton Kozlov <akozlov at openjdk.org>
URL:       https://git.openjdk.org/crac/commit/eb87a387020e837e0481661725ec8e8421e5c00b
Stats:     18 lines in 5 files changed: 18 ins; 0 del; 0 mod

Ensure G1 GC is completed before creating a snapshot

Reviewed-by: akozlov

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

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


More information about the crac-dev mailing list