Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8321806

Shenandoah: each mutator must see FullGC or GC overhead limit is exceeded before throwing OOM

XMLWordPrintable

    • gc

      In the existing implementation, a mutator may throw OOM after consulting a global variable that indicates that a certain number of consecutive unproductive GCs have been observed.

      The problem with this approach is that the OOM thrown to one thread may cause that thread to cleanup memory so that other threads can proceed without OOM.

      This behavior is exploited in certain jtreg tests, such as gc/shenandoah/oom/TestThreadFailure.java.

      We need each thread to independently observe that an unproductive Full GC has been completed or that GC overhead limits has been exceeded before that thread throws OOM.

      Part of the problem is that Shenandoah does not currently implement GC overhead limit is exceeded.

            kdnilsen Kelvin Nilsen
            kdnilsen Kelvin Nilsen
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: