[11u] Backport JEP 346 : Promptly Return Unused Committed Memory from G1

Gil Tene gil at azul.com
Sat Apr 4 07:24:56 UTC 2020

- Are there any indications that Oracle is backporting this into their Oracle JDK 11?

- Do we have input from the GC team on the complexity and potential tie-in or dependence
[explicit or implied] of this JEP implementation on other post-11 G1 improvements,
changes, assumptions, or invariant modifications?

- What level of extensive review by GC experts and exhaustive GC stress-testing are
we willing to put in to gain confidence that this will not regress the stability of 11u?

[Note: There is a reason that GCs are slow-to-bring-to-producton-quality things,
and often take 6-10 years to mature. Subtly introduced GC bugs are nasty things.
They tend to heisen-bug, and often manifestas correctness issues rather than crashes,
such that only stress tests with fastdebug and <something>-alot modes will tend
to detect many of them before they make it into the wild. An "I ran this in product
mode on a bunch of in-house stuff for several hours and didn't seem to detect any
crashes or math problems" approach just doesn't cut it for avoiding GC regression,
and unfortunately neither does fastdebug execution of small test kernels].

I'll note my general opinion/position that "stability is job 1, 2, 3, 4, and 5" opinion for
OpenJDK updates projects, and that the bar for adding features to 11u should to be
very high, and driven by extreme need [something is broken or missing, a gap is opening
with regards to Oracle JDK of the same version, or something is about to start cauing
serious issues] as opposed to "this would be good to have, and the risk seems low"
approach. Low risk is no reason to add a feature to a stable updates release when
there are multiple GA'ed releases that have followed it already.

The first question I'd ask anyone who wants this in 11u is "why don't you just move to
using one of the three already-GA'ed OpenJDK versions that followed 11 and have this
JEP implemented?". If the answer that comes back is along the lines of "because I
think/hope 11u is much more stable", I'll note that (a) doing this sort of feature backport
will fundamentally work against that premise, and (b) that thought/hope is either wrong,
or it means that you are asking to introduced a potentially unstable or under-exposed
feature into 11u (can't have it both ways).

> On Apr 3, 2020, at 10:10 PM, Liang Mao <maoliang.ml at alibaba-inc.com> wrote:
> Hi Andrew ,
> I have already tried the backport and prepare the webrevs. Please look into the following mail. Although there're many changesets but there are only few conflicts.
> https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2020-March/002735.html
> Thanks,
> Liang
> ------------------------------------------------------------------
> From:Andrew Haley <aph at redhat.com>
> Send Time:2020 Apr. 3 (Fri.) 21:16
> To:rs <rs at jelastic.com>; jdk-updates-dev <jdk-updates-dev at openjdk.java.net>
> Subject:Re: [11u] Backport JEP 346 : Promptly Return Unused Committed Memory from G1
> On 4/3/20 1:25 PM, Ruslan Synytsky wrote:
>> We had a conversation in another thread about this backport and Thomas
>> Schatzl kindly agreed to help with review, but looks like we need to get
>> pre-approval from the current maintainers, so we do not waste our time for
>> nothing at the end.
> That makes sense. Do you have any idea of the likely complexity
> and impact of this patch?
> --
> Andrew Haley  (he/him)
> Java Platform Lead Engineer
> Red Hat UK Ltd. <https://www.redhat.com>
> https://keybase.io/andrewhaley
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the jdk-updates-dev mailing list