Backport 8195115: G1 Old Gen MemoryPool CollectionUsage.used values don't reflect mixed GC results

Hohensee, Paul hohensee at amazon.com
Mon Oct 22 19:14:22 UTC 2018


Typo, webrev s/b webrev.05.

JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8195115
Webrev: http://cr.openjdk.java.net/~phh/8195115/webrev.05/
Backport review thread: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-October/023507.html
Original review thread: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-June/022305.html

On 10/22/18, 8:45 AM, "jdk8u-dev on behalf of Hohensee, Paul" <jdk8u-dev-bounces at openjdk.java.net on behalf of hohensee at amazon.com> wrote:

    Trying again with correct request template.
    
    JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8195115
    Webrev: http://cr.openjdk.java.net/~phh/8195115/webrev.06/
    Backport review thread: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-October/023507.html
    Original review thread: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-June/022305.html
    
    Thanks,
    
    Paul
    
    On 10/19/18, 10:11 AM, "jdk8u-dev on behalf of Hohensee, Paul" <jdk8u-dev-bounces at openjdk.java.net on behalf of hohensee at amazon.com> wrote:
    
        Thanks, Thomas. Cutting distribution down to jdk8u-dev now, and asking for backport approval.
        
        Here's the email discussion: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-June/022305.html
        
        Backport argument:
        
        At Amazon, we discovered more than a year ago that the MemoryPoolMXBean Usage attribute isn't very useful for monitoring, and more importantly, alarming on, excessive heap use. That's because it's an instantaneous measurement, so it includes yet-to-collected garbage. We moved to using CollectionUsage (usage after the last GC that affected the memory pool) instead as a measure of the long-term heap occupancy. If it's trending up without the app changing, there may be a memory leak, or just more load that might require a -Xmx increase.
        
        Once moved, however, we found that G1 was effectively useless to us because it reported incorrect values for the G1 old gen: mixed collections weren't updating its CollectionUsage. We patched our internal jdk8 distro, and last June, openjdk11. This is a backport of the latter. We believe that anyone monitoring server apps running G1 in jdk8u needs this fix.
        
        Thanks,
        
        Paul
        
        On 10/19/18, 9:24 AM, "Thomas Schatzl" <thomas.schatzl at oracle.com> wrote:
        
            Hi Paul,
            
            On Fri, 2018-10-12 at 00:03 +0000, Hohensee, Paul wrote:
            > Please review a backport to jdk8u.
            > 
            > Bug: https://bugs.openjdk.java.net/browse/JDK-8195115
            > Webrev: http://cr.openjdk.java.net/~phh/8195115/webrev.05/
            > JDK11 patch: http://hg.openjdk.java.net/jdk/jdk/rev/5d3c5af82654
            > 
            > The backport is slightly different from the JDK11 patch due to G1
            > refactoring, hence my request for new review. I’ll ask for jdk8u
            > approval once the backport is reviewed.
            
            > I backported two jtreg tests from JDK11, which pass. Also, all the
            > hotspot gc jtreg tests pass as well as they do for jdk8u-dev.
            
            I think the backport is good. Others need to decide whether this change
            is worth backporting.
            
            > There was a CSR involved, 
            > https://bugs.openjdk.java.net/browse/JDK-8196719. Does that have to
            > be re-approved for jdk8u as well, and if so, what’s the process?
            
            CC'ed Joe Darcy as I am not sure either.
            
            Thanks,
              Thomas
            
            
            
        
        
    
    



More information about the jdk8u-dev mailing list