JEP 248: Make G1 the Default Garbage Collector
stefan.johansson at oracle.com
Wed Jun 10 12:16:44 UTC 2015
I read your statement below as you're good with us moving forward and
targeting the JEP for JDK 9, but that you want to stress that we need to
spend time on verifying that G1 is ready to be the default. I understand
your concern and it is great to hear that you and others in the
community are willing to help with this work.
On 2015-06-05 19:11, Ben Evans wrote:
> I like the plan, but this statement is really quite bullish,
> especially (IMO) on the available evidence.
> G1 was always marketed as the replacement for CMS. In field experience
> so far, that hasn't happened, and I feel that we are glossing over the
> fact that we are now thinking of G1 as a replacement for Parallel.
> Certainly none of the testing I've done has been about Parallel -> G1
> - it's all been CMS vs G1. I will be happy to start working with
> clients to try to cover the Parallel vs G1 space, but that hasn't
> happened up until now.
> Neither do I think we should be under any illusions that a very large
> number of installs are going to be affected.
> It may not be all that representative, but here are the results of a
> quick community straw poll I ran over the last couple of days:
> A single question: "Which Garbage Collector Does Your Application Use?
> " yielded these results:
> Concurrent Mark & Sweep (CMS)
> Garbage First (G1GC)
> Parallel (because I explicitly set it)
> Default (this actually gives you Parallel)
> I Don't Know
> Total: 355
> The clear, stand-out winner is Default, with ~40% of installs using
> this, and therefore being exposed to the proposed change. That makes
> me very nervous.
> So, whilst I'm not saying we shouldn't do this, and I know that
> community members, including Kirk, myself & the other jClarity folks
> will help to get some better data, I'd argue that we're still a long
> way from being certain that we're ready for this change.
> On Fri, Jun 5, 2015 at 1:12 PM, Stefan Johansson
> <stefan.johansson at oracle.com> wrote:
>> On 2015-06-05 00:08, mark.reinhold at oracle.com wrote:
>>> 2015/6/4 6:44 -0700, charlie.hunt at oracle.com:
>>>> Wanted to come back to this thread, continue the dialog, reiterate the
>>>> objective, (try to) summarize the concerns and put forth a potential
>>>> plan for this JEP going forward.
>>>> Intent: Use G1 GC as the default collector chosen by the JVM when no
>>>> GC is explicitly set at the JVM command line.
>>> Charlie -- thanks for the excellent summary of this wide-ranging
>>>> Suggested plan for moving forward:
>>>> - Make G1 the default collector in JDK 9, continue to evaluate G1 and
>>>> enhance G1 in JDK 9
>>>> - Mitigate risk by reverting back to Parallel GC before JDK 9 goes
>>>> “Generally Available” (Sept 22, 2016 ) if warranted by continuing
>>>> to monitor observations and experiences with G1 in both JDK 9
>>>> pre-releases and latest JDK 8 update releases
>>>> - Address enhancing ergonomics for selecting a default GC as a
>>>> separate JEP if future observations suggests its needed
>>> I think this is a fine plan.
>>> Stefan -- To move forward with JEP 248, could you please revise the
>>> second item in the "Risks and Assumptions" section to note that there
>>> is some concern that G1 might not be ready to become the default, that
>>> making it the default now will allow us to get more feedback on it, and
>>> that if it proves to be not ready then we'll revert the default to the
>>> Parallel GC in time for JDK 9 GA?
>> Mark, I've extended second item as follows:
>> - G1 is seen as a robust and well-tested collector. It is not expected
>> to have stability problems, but becoming the default collector will
>> increase its visibility and may reveal previously-unknown issues. If
>> a critical issue is found that can't be addressed in the JDK 9 time
>> frame, we will revert back to use Parallel GC as the default for the
>> JDK 9 GA.
>>> Ben -- Can you live with this plan?
>>> - Mark
More information about the hotspot-dev